SSH Certificates: a way to scale SSH access
תוכן עניינים:
- תנאים מוקדמים
- מיקום קובץ תצורת SSH
- מבנה קבצים ותבניות של קבצי SSH
- דוגמה לקובץ קביעת תצורה של SSH
- דוגמה לקובץ תצורת SSH משותף
- עקף את אפשרות קובץ התצורה של SSH
- סיכום
אפשרות אחת תהיה ליצור כינוי bash לכל חיבור שרת מרוחק. עם זאת, יש פיתרון אחר, טוב יותר ופשוט יותר לבעיה זו. OpenSSH מאפשר לך להגדיר קובץ תצורה למשתמש, בו תוכל לאחסן אפשרויות SSH שונות עבור כל מחשב מרוחק שאליו אתה מתחבר.
מדריך זה מכסה את היסודות של קובץ התצורה של לקוח SSH ומסביר כמה מאפשרויות התצורה הנפוצות ביותר.
תנאים מוקדמים
אנו מניחים שאתה משתמש ב- Linux או במערכת macOS עם התקנת לקוח OpenSSH.
מיקום קובץ תצורת SSH
קובץ התצורה בצד הלקוח של OpenSSH נקרא
config
, והוא מאוחסן בספריית
.ssh
תחת ספריית הבית של המשתמש.
ספריית
~/.ssh
נוצרת באופן אוטומטי כאשר המשתמש מפעיל את הפקודה
ssh
בפעם הראשונה. אם הספרייה אינה קיימת במערכת שלך, צור אותה באמצעות הפקודה שלהלן:
mkdir -p ~/.ssh && chmod 700 ~/.ssh
כברירת מחדל יתכן וקובץ התצורה של SSH לא קיים ולכן ייתכן שתצטרך ליצור אותו באמצעות פקודת המגע:
touch ~/.ssh/config
על הקובץ להיות קריא וניתן לכתיבה רק על ידי המשתמש ולא להיות נגיש על ידי אחרים:
מבנה קבצים ותבניות של קבצי SSH
קובץ התצורה של SSH לוקח את המבנה הבא:
Host hostname1 SSH_OPTION value SSH_OPTION value Host hostname2 SSH_OPTION value Host * SSH_OPTION value
התוכן של קובץ ה- config של לקוח ה- SSH מסודר לשכונות (קטעים). כל נתח מתחיל בהנחיית ה-
Host
ומכיל אפשרויות SSH ספציפיות המשמשות בעת יצירת חיבור לשרת SSH המרוחק.
הכניסה אינה חובה אך מומלצת מכיוון שהיא מקלה על הקובץ בקובץ.
הנחיית
Host
יכולה להכיל תבנית אחת או רשימת תבניות המופרדת בין שטח. כל תבנית יכולה להכיל אפס או יותר אופי שאינו מרחב-לבן או אחד מפרטי הדפוס הבאים:
-
*
- מתאים לאפס תווים או יותר. לדוגמה,Host *
מתאים לכל המארחים ואילו192.168.0.*
מתאים למארחים ברשת המשנה192.168.0.0/24
.?
- מתאים בדיוק לדמות אחת. התבנית,Host 10.10.0.?
תואם את כל המארחים בתאריך10.10.0.
טווח.!
- כאשר משתמשים בו בתחילת התבנית, זה שולל את ההתאמה. לדוגמה,Host 10.10.0.* !10.10.0.5
תואם לכל מארח10.10.0.0/24
המשנה10.10.0.5
למעט10.10.0.5
.
לקוח SSH קורא את קביעות התצורה של קביעות תצורה על ידי אילמות, ואם יותר מתבניות אחת תואמות, האפשרויות מהסטאנזה התואמת הראשונה מקבלות עדיפות. לכן יש לתת הצהרות ספציפיות יותר לארח בתחילת הקובץ, ולעקיפות כלליות יותר בסוף הקובץ.
תוכל למצוא רשימה מלאה של אפשרויות ssh זמינות על ידי הקלדת
man ssh_config
בטרמינל שלך או על ידי ביקור בדף האיש של ssh_config.
קובץ ה- config של ה- SSH נקרא גם על ידי תוכנות אחרות כגון
scp
,
sftp
ו-
rsync
.
דוגמה לקובץ קביעת תצורה של SSH
כעת, לאחר שכיסינו את הבסיס של קובץ התצורה של SSH, בואו נסתכל על הדוגמא הבאה.
בדרך כלל, כשאתה מתחבר לשרת מרוחק באמצעות SSH, היית מציין את שם המשתמש המרוחק, שם המארח והיציאה. לדוגמה, כדי להיכנס כמשתמש בשם
john
למארח בשם
dev.example.com
ביציאה
2322
משורת הפקודה, הקלד:
ssh [email protected] -p 2322
כדי להתחבר לשרת באמצעות אותן אפשרויות כמוצעות בפקודה למעלה פשוט על ידי הקלדת
ssh dev
,
ssh dev
את השורות הבאות לקובץ
"~/.ssh/config
:
Host dev HostName dev.example.com User john Port 2322
כעת כשאתם מקלידים
ssh dev
, לקוח ssh יקרא את קובץ התצורה וישתמש בפרטי החיבור שצוינו עבור מארח ה-
dev
:
דוגמה לקובץ תצורת SSH משותף
דוגמה זו נותנת מידע מפורט יותר על דפוסי המארח ותעדפות האופציה.
בוא ניקח את קובץ הדוגמה הבא:
Host targaryen HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key Host tyrell HostName 192.168.10.20 Host martell HostName 192.168.10.50 Host *ell user oberyn Host * !martell LogLevel INFO Host * User root Compression yes
-
כשאתה מקליד
ssh targaryen
, לקוח ssh קורא את הקובץssh targaryen
את האפשרויות מההתאמה הראשונה, שהיאHost targaryen
. ואז הוא בודק את השטחים הבאים בזה אחר זה עבור דפוס תואם. התואם הבא הואHost * !martell
(כלומר כל המארחים למעטmartell
) והיא תחיל את אפשרות החיבורmartell
הזו. ההגדרה האחרונהHost *
תואמת גם היא, אך לקוח ה- ssh ייקח רק את אפשרותCompression
מכיוון שאפשרותUser
כבר מוגדרתHost targaryen
.רשימת האפשרויות המלאה המשמשת בעת הקלדת
ssh targaryen
היא כדלקמן:HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes
בעת הפעלת
ssh tyrell
, דפוסי המארח התואמים הם:Host tyrell
Host *ell
,Host *ell
,Host * !martell
Host *
. האפשרויות המשמשות במקרה זה הן:HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes
HostName 192.168.10.50 User oberyn Compression yes
עבור כל שאר החיבורים, לקוח ה- ssh ישתמש באפשרויות שצוינו
Host * !martell
ו-Host *
.
עקף את אפשרות קובץ התצורה של SSH
לקוח ssh קורא את התצורה שלו בסדר העדיפות הבא:
- אפשרויות שצוינו משורת הפקודה. אפשרויות שהוגדרו ב
~/.ssh/config
אפשרויות שהוגדרו ב/etc/ssh/ssh_config
.
Host dev HostName dev.example.com User john Port 2322
ואתה רוצה להשתמש בכל האפשרויות האחרות אלא להתחבר
root
משתמש במקום
john
פשוט ציין את המשתמש בשורת הפקודה:
ssh -o "User=root" dev
האפשרות
-F
(
configfile
) מאפשרת לך לציין קובץ תצורה חלופי למשתמש.
כדי לומר ללקוח
ssh
להתעלם מכל האפשרויות שצוינו בקובץ התצורה של ssh, השתמשו ב:
ssh -F /dev/null [email protected]
סיכום
הראינו לכם כיצד לקבוע את התצורה של קובץ ה- config ssh של המשתמש. יתכן שתרצה להגדיר אימות מבוסס מפתח SSH ולהתחבר לשרתי Linux שלך בלי להזין סיסמה.
כברירת מחדל, SSH מאזין ביציאה 22. שינוי יציאת SSH המוגדרת כברירת מחדל מוסיף שכבת אבטחה נוספת לשרת שלך על ידי צמצום הסיכון להתקפות אוטומטיות.
מסוף sshMicrosoft Office זיהה בעיה בקובץ זה

אם מתקבלת Office זיהה בעיה בקובץ זה, כדי לסייע בהגנה על המחשב שלך בקובץ זה לא ניתן לפתוח אותו, העריכה עלולה לפגוע במחשב שלך, ראה זאת.
סיכונים בשימוש בקובץ Proxy Auto-Config (PAC) - גניבת זהות ועוד

הודעה זו מסבירה איומים הקשורים Proxy Auto Config PAC קבצים וכיצד להימנע ניתוב זדוני באופן ידני או באמצעות Phrozensoft Auto Config Risk Protector.
15 חייבים לדעת Firefox על העדפות config (אודות: config)

האם ידעת שאתה יכול להתאים את ההתנהגות של Firefox במידה רבה דרך: Config? עיין ב- 15 חייבים לדעת את Firefox אודות Config (אודות: config) ...