אנדרואיד

פקודת Ssh

Основы SSH

Основы SSH

תוכן עניינים:

Anonim

Secure Shell (SSH) הוא פרוטוקול רשת קריפטוגרפי המשמש לחיבור מוצפן בין לקוח לשרת. לקוח ssh יוצר חיבור מאובטח לשרת SSH במחשב מרוחק. ניתן להשתמש בחיבור המוצפן לביצוע פקודות בשרת, מנהור X11, העברת יציאות ועוד.

ישנם מספר לקוחות SSH הזמינים בחינם ומסחריים, כאשר OpenSSH הוא הלקוח הנפוץ ביותר. זה זמין בכל הפלטפורמות העיקריות, כולל לינוקס, OpenBSD, Windows, macOS ואחרים.

, נסביר כיצד להשתמש בלקוח שורת הפקודה OpenSSH ( ssh ) כדי להתחבר למחשב מרוחק ולהפעיל פקודות או לבצע פעולות אחרות.

התקנת לקוח OpenSSH

תוכנית הלקוח OpenSSH נקראת ssh וניתן להפעיל אותה מהטרמינל. חבילת לקוח OpenSSH מספקת גם שירותי SSH אחרים כמו scp ו- sftp המותקנים לצד הפקודה ssh .

התקנת לקוח OpenSSH ב- Linux

לקוח OpenSSH מותקן מראש ברוב ההפצות לינוקס כברירת מחדל. אם לא מותקן לקוח ssh במערכת שלך, אתה יכול להתקין אותו באמצעות מנהל החבילות של ההפצה שלך.

התקנת OpenSSH באובונטו ודביאן

sudo apt update sudo apt install openssh-client

התקנת OpenSSH על CentOS ופדורה

sudo dnf install openssh-clients

התקנת לקוח OpenSSH במערכת Windows 10

מרבית משתמשי Windows משתמשים במתי כדי להתחבר למחשב מרוחק באמצעות SSH. עם זאת, הגרסאות האחרונות של Windows 10 כוללות לקוח ושרת OpenSSH. ניתן להתקין את שתי החבילות באמצעות ה- GUI או PowerShell.

כדי למצוא את השם המדויק של חבילת OpenSSH, הקלד את הפקודה הבאה:

Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

הפקודה צריכה להחזיר דבר כזה:

Name: OpenSSH.Client~~~~0.0.1.0 State: NotPresent Name: OpenSSH.Server~~~~0.0.1.0 State: NotPresent

ברגע שאתה יודע את שם החבילה התקן אותו על ידי הפעלה:

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

בהצלחה התפוקה תיראה כך:

Path: Online: True RestartNeeded: False

התקנת לקוח OpenSSH ב- macOS

macOS נשלח כאשר לקוח OpenSSH מותקן כברירת מחדל.

כיצד להשתמש ssh

יש לעמוד בדרישות הבאות בכדי שיוכלו להתחבר למחשב מרוחק באמצעות SSH:

  • שרת SSH חייב להיות פועל במחשב המרוחק. יציאת SSH חייבת להיות פתוחה בחומת האש של המחשב המרוחק. עליך לדעת את שם המשתמש והסיסמה של החשבון המרוחק. על החשבון להיות בעל הרשאות מתאימות לצורך כניסה מרחוק.

התחביר הבסיסי של פקודת ה- ssh הוא כדלקמן:

ssh:HOST

כדי להשתמש בפקודה ssh פתח את הטרמינל או את PowerShell והקלד את ssh ואחריו שם המארח המרוחק:

ssh ssh.linuxize.com

כשאתה מתחבר למחשב מרוחק דרך SSH בפעם הראשונה, תראה הודעה כמו להלן.

The authenticity of host 'ssh.linuxize.com (192.168.121.111)' can't be established. ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. Are you sure you want to continue connecting (yes/no)?

לכל מארח טביעת אצבע ייחודית המאוחסנת בקובץ ~/.ssh/known_hosts .

הקלד yes לשמירת טביעת האצבע המרוחקת, ותתבקש להזין את הסיסמה שלך.

Warning: Permanently added 'ssh.linuxize.com' (ECDSA) to the list of known hosts. [email protected]'s password:

לאחר שתזין את הסיסמה, תיכנס למחשב המרוחק.

כאשר שם המשתמש לא ניתן, פקודת ה- ssh משתמשת בשם ההתחברות הנוכחי של המערכת.

כדי להתחבר כמשתמש אחר, ציין את שם המשתמש והמארח בפורמט הבא:

ssh username@hostname

ניתן לציין את שם המשתמש גם עם האפשרות -l :

ssh -l username hostname

כברירת מחדל, כאשר לא ניתנת יציאה, לקוח SSH ינסה להתחבר לשרת המרוחק ביציאה 22. בכמה שרתים מנהלי מערכת משנים את יציאת SSH המוגדרת כברירת מחדל כדי להוסיף שכבת אבטחה נוספת לשרת על ידי הקטנת הסיכון של התקפות אוטומטיות.

כדי להתחבר ביציאה שאינה ברירת מחדל, השתמש באפשרות -p כדי לציין את היציאה:

ssh -p 5522 username@hostname

ssh -v username@hostname

כדי להגדיל את רמת המילוליות, השתמש ב- -vv או -vvv .

הפקודה ssh מקבלת מספר אפשרויות.

לקבלת רשימה מלאה של כל האפשרויות קרא את דף ה- ssh man על ידי הקלדת man ssh בטרמינל שלך.

קובץ תצורת SSH

לקוח OpenSSH קורא את האפשרויות שנקבעו בקובץ התצורה למשתמש ( ~/.ssh/config ). בקובץ זה תוכלו לאחסן אפשרויות SSH שונות עבור כל מחשב מרוחק שאליו אתם מתחברים.

להלן תצורת SSH לדוגמא:

Host dev HostName dev.linuxize.com User mike Port 4422

כשאתה מזמין את לקוח ssh על ידי הקלדת ssh dev הפקודה תקרא את קובץ ~/.ssh/config ותשתמש בפרטי החיבור שצוינו עבור מארח ה- dev. בדוגמה זו, ssh dev שווה ערך לדברים הבאים:

ssh -p 4422 [email protected]

לקבלת מידע נוסף, עיין במאמר בקובץ ה- config של SSH.

אימות מפתח ציבורי

פרוטוקול SSH תומך במנגנוני אימות שונים.

מנגנון האימות מבוסס המפתח הציבורי מאפשר לך להתחבר לשרת המרוחק מבלי שתצטרך להקליד את הסיסמה שלך.

שיטה זו פועלת על ידי יצירת זוג מפתחות קריפטוגרפיים המשמשים לאימות. המפתח הפרטי מאוחסן במכשיר הלקוח והמפתח הציבורי מועבר לכל שרת מרוחק שברצונך להיכנס אליו. יש להגדיר את השרת המרוחק כך שיקבל אימות מקשים.

ssh-keygen -t rsa -b 4096 -C "[email protected]"

תתבקש להקליד ביטוי סיסמה מאובטח. אם אתה רוצה להשתמש בביטוי סיסמה זה תלוי בך.

לאחר שיש לך את זוג המפתחות שלך, העתק את המפתח הציבורי לשרת המרוחק:

ssh-copy-id username@hostname

הזן את סיסמת המשתמש המרוחק, והמפתח הציבורי יצורף לקובץ autor_keys של המשתמש המרוחק.

לאחר העלאת המפתח תוכלו להתחבר לשרת המרוחק מבלי שתתבקשו להזין סיסמה.

על ידי הגדרת אימות מבוסס מפתח, תוכלו לפשט את תהליך הכניסה ולהגדיל את האבטחה הכוללת של השרת.

שילוח נמל

מנהור SSH או העברת יציאת SSH היא שיטה ליצירת חיבור SSH מוצפן בין לקוח למחשב שרתים דרכו ניתן להעביר יציאות שירותים.

העברת SSH שימושית להובלת נתוני רשת של שירותים המשתמשים בפרוטוקול לא מוצפן, כגון VNC או FTP, גישה לתוכן מוגבל גיאוגרפי או עקיפת חומות אש ביניים. בעיקרון, אתה יכול להעביר כל יציאת TCP ולהוביל את התנועה דרך חיבור SSH מאובטח.

ישנם שלושה סוגים של העברת יציאת SSH:

שילוח נמל מקומי

העברת יציאות מקומית מאפשרת לך להעביר חיבור ממארח ​​הלקוח למארח שרת SSH ואז לנמל מארח היעד.

ליצירת העברת יציאה מקומית העבירו את אפשרות -L ללקוח ssh :

ssh -L LOCAL_PORT:DESTINATION_HOST:DESTINATION_PORT -N -f username@hostname

האפשרות -f אומרת לפקודת ssh לרוץ ברקע ו- -N לא לבצע פקודה מרחוק.

העברת יציאה מרחוק

העברת יציאה מרחוק היא ההפך משילוב יציאה מקומי. זה מעביר יציאה ממארח ​​השרת למארח הלקוח ואז לנמל מארח היעד.

האפשרות -L אומרת ל- ssh ליצור העברת יציאה מרחוק:

ssh -R REMOTE_PORT:DESTINATION:DESTINATION_PORT -N -f username@hostname

העברת יציאה דינמית

העברת יציאות דינמית יוצרת שרת פרוקסי SOCKS המאפשר תקשורת בין מגוון יציאות.

ליצירת העברת יציאה דינמית (SOCKS) העבירו את האפשרות -D ללקוח ssh:

ssh -D LOCAL_PORT -N -f username@hostname

למידע מפורט יותר והוראות הדרכה שלב, עיין במאמר בנושא הגדרת מנהרת SSH (העברת נמל).

סיכום

כדי להתחבר לשרת מרוחק באמצעות SSH השתמש בפקודת ssh ואחריו שם המשתמש ושם המארח ( ssh username@hostname ).

הידיעה כיצד להשתמש בפקודת ה- ssh היא חיונית לניהול שרת מרוחק.

מסוף ssh