linux ssh命令詳解
ssh命令是linux下的一個(gè)命令,那么它的基本用法是怎樣的呢?下面由學(xué)習(xí)啦小編為大家整理了linux ssh命令的相關(guān)知識(shí),希望對(duì)大家有幫助。
linux ssh命令用法1、查看SSH客戶(hù)端版本
有的時(shí)候需要確認(rèn)一下SSH客戶(hù)端及其相應(yīng)的版本號(hào)。使用ssh -V命令可以得到版本號(hào)。需要注意的是,Linux一般自帶的是OpenSSH: 下面的例子即表明該系統(tǒng)正在使用OpenSSH:
$ ssh -V OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003
下面的例子表明該系統(tǒng)正在使用SSH2:
$ ssh -V ssh: SSH Secure Shell 3.2.9.1 (non-commercial version) on i686-pc-linux-gnu
linux ssh命令用法2、用SSH登錄到遠(yuǎn)程主機(jī)
當(dāng)你第一次使用ssh登錄遠(yuǎn)程主機(jī)時(shí),會(huì)出現(xiàn)沒(méi)有找到主機(jī)密鑰的提示信息。輸入"yes"后,系統(tǒng)會(huì)將遠(yuǎn)程主機(jī)的密鑰加入到你的主目錄下的 .ssh/hostkeys下,這樣你就可以繼續(xù)操作了。示例如下:
1
2
3
4
5
6
7
8
localhost$ ssh -l jsmith remotehost.example.com
Host key not found from database.
Key fingerprint:
xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-jarde-tuxum
You can get a public key‘s fingerprint by running % ssh-keygen -F publickey.pub on the keyfile.
Are you sure you want to continue connecting (yes/no)? Yes
Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com,
accepted by jsmith Mon May 26 2008 16:06:50 -0700 jsmith@remotehost.example.com password: remotehost.example.com$
因?yàn)檫h(yuǎn)程主機(jī)的密鑰已經(jīng)加入到ssh客戶(hù)端的已知主機(jī)列表中,當(dāng)你第二次登陸遠(yuǎn)程主機(jī)時(shí),只需要你輸入遠(yuǎn)程主機(jī)的登錄密碼即可。
1
2
3
localhost$ ssh -l jsmith remotehost.example.com
jsmith@remotehost.example.com password:
remotehost.example.com$
由于各種原因,可能在你第一次登陸遠(yuǎn)程主機(jī)后,該主機(jī)的密鑰發(fā)生改變,你將會(huì)看到一些警告信息。出現(xiàn)這種情況,可能有兩個(gè)原因:
系統(tǒng)管理員在遠(yuǎn)程主機(jī)上升級(jí)或者重新安裝了SSH服務(wù)器,有人在進(jìn)行一些惡意行為,等等。
在你輸入“yes”之前呢,最佳的選擇或許是聯(lián)系你的系統(tǒng)管理員來(lái)分析為什么會(huì)出現(xiàn)主機(jī)驗(yàn)證碼改變的信息,核對(duì)主機(jī)驗(yàn)證碼是否正確。
localhost$ ssh -l jsmith remotehost.example.com @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the- middle attack)!
It is also possible that the host key has just been changed.
Please contact your system administrator.
Add correct host key to ―/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub‖ to get rid of this message.
Received server key's fingerprint:
xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-arde-tuxum
You can get a public key's fingerprint by running % ssh-keygen -F publickey.pub on the keyfile.
Agent forwarding is disabled to avoid attacks by corrupted servers.
Are you sure you want to continue connecting (yes/no)? yes
Do you want to change the host key on disk (yes/no)? yes
Agent forwarding re-enabled.
Host key saved to /home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub host key for remotehost.example.com,
accepted by jsmith Mon May 26 2008 16:17:31 -0700 jsmith @remotehost.example.com's password: remotehost$
linux ssh命令用法3、調(diào)試SSH客戶(hù)端會(huì)話(huà)
當(dāng)ssh連接出現(xiàn)問(wèn)題時(shí),我們需要通過(guò)查看調(diào)試信息來(lái)定位這些錯(cuò)誤。一般來(lái)講使用v選項(xiàng)(注意:是小寫(xiě)的v),即可查看調(diào)試信息。
沒(méi)有SSH客戶(hù)端調(diào)試信息的例子:
1localhost$ ssh -l jsmith remotehost.example.com
2warning: Connecting to remotehost.example.com failed: No address associated to the name
包含ssh調(diào)試信息的例子:
1locaclhost$ ssh -v -l jsmith remotehost.example.com
2debug: SshConfig/sshconfig.c:2838/ssh2_parse_config_ext:
3Metaconfig parsing stopped at line 3.
4debug: SshConfig/sshconfig.c:637/ssh_config_set_param_verbose:
5Setting variable 嘠攀爀戀漀猀攀Mode' to FALSE'.
6debug: SshConfig/sshconfig.c:3130/ssh_config_read_file_ext: Read 17 params from config file.
7debug: Ssh2/ssh2.c:1707/main: User config file not found, using defaults. (Looked for /home/jsmith/.ssh2/ssh2_config')
8debug: Connecting to remotehost.example.com, port 22… (SOCKS not used)
9warning: Connecting to remotehost.example.com failed: No address associated to the name
[注:很多命令中,v選項(xiàng)對(duì)應(yīng)的英文是 verbose,也就是詳細(xì)的信息的意思。]
當(dāng)你使用ssh從本機(jī)登錄到遠(yuǎn)程主機(jī)時(shí),你可能希望切換到本地做一些操作,然后再重新回到遠(yuǎn)程主機(jī)。這個(gè)時(shí)候,你不需要中斷ssh連接,只需要按照第4點(diǎn)的步驟操作即可:
linux ssh命令用法4、用SSH退出符切換SSH會(huì)話(huà)
這個(gè)技巧非常實(shí)用。尤其是遠(yuǎn)程登陸到一臺(tái)主機(jī)A,然后從A登陸到B,如果希望在A(yíng)上做一些操作,還得再開(kāi)一個(gè)終端,很是麻煩。
當(dāng)你使用ssh從本機(jī)登錄到遠(yuǎn)程主機(jī)時(shí),你可能希望切換到本地做一些操作,然后再重新回到遠(yuǎn)程主機(jī)。這個(gè)時(shí)候,你不需要中斷ssh連接,只需要按照如下步驟操作即可:
當(dāng)你已經(jīng)登錄到了遠(yuǎn)程主機(jī)時(shí),你可能想要回到本地主機(jī)進(jìn)行一些操作,然后又繼續(xù)回到遠(yuǎn)程主機(jī)。在這種情況下,沒(méi)有必要斷開(kāi)遠(yuǎn)程主機(jī)的會(huì)話(huà),你可以用下面的辦法來(lái)完成:
1.登入遠(yuǎn)程主機(jī):
localhost$ ssh -l jsmith remotehost
2.已連接遠(yuǎn)程主機(jī):
remotehost$
3.要臨時(shí)回到本地主機(jī),輸入退出符號(hào):“~”與“Control-Z”組合。
當(dāng)你輸入“~”你不會(huì)立即在屏幕上看到,當(dāng)你按下
remotehost$ ~^Z [1]+ Stopped ssh -l jsmith remotehost localhost$
4.現(xiàn)在你已經(jīng)退回到了本地主機(jī),ssh遠(yuǎn)程客戶(hù)端會(huì)話(huà)就在UNIX后臺(tái)中運(yùn)行,你可以向下面那樣查看它:
localhost$ jobs [1]+ Stopped ssh -l jsmith remotehost
5. 你可以將后臺(tái)運(yùn)行的ssh會(huì)話(huà)進(jìn)程切換到前臺(tái),重新回到遠(yuǎn)程主機(jī),而無(wú)需輸入密碼
localhost$ fg %1 ssh -l jsmith remotehost remotehost$
linux ssh命令用法5、用SSH退出字符會(huì)話(huà),顯示信息
要想取得一些關(guān)于當(dāng)前會(huì)話(huà)有用的信息,可以按以下方式完成。不過(guò)這只能在SSH 2 客戶(hù)端上使用。
登錄到遠(yuǎn)程服務(wù)器
localhost$ ssh -l jsmith remotehost
如下所示,在遠(yuǎn)程服務(wù)器上,輸入ssh退出字符~并輸入s。這樣會(huì)顯示出很多有關(guān)當(dāng)前ssh連接的有用信息
1remotehost$ [注:當(dāng)你在命令行上輸入~s時(shí),它是不可見(jiàn)的.]
2remote host: remotehost
3local host: localhost
4remote version: SSH-1.99-OpenSSH_3.9p1
5local version: SSH-2.0-3.2.9.1 SSH Secure Shell (non-commercial)
6compressed bytes in: 1506
7uncompressed bytes in: 1622
8compressed bytes out: 4997
9uncompressed bytes out: 5118
10packets in: 15
11packets out: 24
12rekeys: 0
13Algorithms:
14Chosen key exchange algorithm: diffie-hellman-group1-sha1
15Chosen host key algorithm: ssh-dss
16Common host key algorithms: ssh-dss,ssh-rsa
17Algorithms client to server:
18Cipher: aes128-cbc
19MAC: hmac-sha1
20Compression: zlib
21Algorithms server to client:
22Cipher: aes128-cbc MAC: hmac-sha1
23Compression: zlib
24localhost$
以上就是Linux下SSH的詳細(xì)使用方法,希望能夠?qū)δ阌兴鶐椭?/p>