一、查看SSH客戶端版本linux
有的時候須要確認一下SSH客戶端及其相應的版本號。使用ssh-V命令能夠獲得版本號。須要注意的是,Linux通常自帶的是OpenSSH:下面的例子即代表該系統正在使用OpenSSH:sass
$ssh-V服務器
OpenSSH_3.9p1,OpenSSL0.9.7aFeb192003ssh
下面的例子代表該系統正在使用SSH2:this
$ssh-Vspa
ssh:SSHSecureShell3.2.9.1(non-commercialversion)oni686-pc-linux-gnu.net
二、用SSH登陸到遠程主機命令行
當你第一次使用ssh登陸遠程主機時,會出現沒有找到主機密鑰的提示信息。輸入"yes"後,系統會將遠程主機的密鑰加入到你的主目錄下的.ssh/hostkeys下,這樣你就能夠繼續操做了。示例以下:debug
localhost$ssh-ljsmithremotehost.example.com調試
Hostkeynotfoundfromdatabase.
Keyfingerprint:
xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-jarde-tuxum
Youcangetapublickey‘sfingerprintbyrunning%ssh-keygen-Fpublickey.pubonthekeyfile.
Areyousureyouwanttocontinueconnecting(yes/no)?Yes
Hostkeysavedto/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pubhostkeyforremotehost.example.com,
acceptedbyjsmithMonMay26200816:06:50-0700jsmith@remotehost.example.compassword:remotehost.example.com$
由於遠程主機的密鑰已經加入到ssh客戶端的已知主機列表中,當你第二次登錄遠程主機時,只須要你輸入遠程主機的登陸密碼便可。
localhost$ssh-ljsmithremotehost.example.com
jsmith@remotehost.example.compassword:
remotehost.example.com$
因爲各類緣由,可能在你第一次登錄遠程主機後,該主機的密鑰發生改變,你將會看到一些警告信息。出現這種狀況,可能有兩個緣由:
o系統管理員在遠程主機上升級或者從新安裝了SSH服務器
o有人在進行一些惡意行爲,等等。
在你輸入「yes」以前呢,最佳的選擇或許是聯繫你的系統管理員來分析爲何會出現主機驗證碼改變的信息,覈對主機驗證碼是否正確。
localhost$ssh-ljsmithremotehost.example.com@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@WARNING :HOSTIDENTIFICATIONHASCHANGED!@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ITISPOSSIBLETHATSOMEONEISDOINGSOMETHINGNASTY!
Someonecouldbeeavesdroppingonyourightnow(man-in-the-middleattack)!
Itisalsopossiblethatthehostkeyhasjustbeenchanged.
Pleasecontactyoursystemadministrator.
Addcorrecthostkeyto─/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pub∥togetridofthismessage.
Receivedserverkey'sfingerprint:
xabie-dezbc-manud-bartd-satsy-limit-nexiu-jambl-title-arde-tuxum
Youcangetapublickey'sfingerprintbyrunning%ssh-keygen-Fpublickey.pubonthekeyfile.
Agentforwardingisdisabledtoavoidattacksbycorruptedservers.
Areyousureyouwanttocontinueconnecting(yes/no)?yes
Doyouwanttochangethehostkeyondisk(yes/no)?yes
Agentforwardingre-enabled.
Hostkeysavedto/home/jsmith/.ssh2/hostkeys/key_22_remotehost.example.com.pubhostkeyforremotehost.example.com,
acceptedbyjsmithMonMay26200816:17:31-0700jsmith@remotehost.example.com'spassword:remotehost$
三、調試SSH客戶端會話
當ssh鏈接出現問題時,咱們須要經過查看調試信息來定位這些錯誤。通常來說使用v選項(注意:是小寫的v),便可查看調試信息。
沒有SSH客戶端調試信息的例子:
localhost$ssh-ljsmithremotehost.example.com
warning:Connectingtoremotehost.example.comfailed:Noaddressassociatedtothename
包含ssh調試信息的例子:
locaclhost$ssh-v-ljsmithremotehost.example.com
debug:SshConfig/sshconfig.c:2838/ssh2_parse_config_ext:
Metaconfigparsingstoppedatline3.
debug:SshConfig/sshconfig.c:637/ssh_config_set_param_verbose:
Settingvariable嘠攀爀戀漀猀攀Mode'toFALSE'.
debug:SshConfig/sshconfig.c:3130/ssh_config_read_file_ext:Read17paramsfromconfigfile.
debug:Ssh2/ssh2.c:1707/main:Userconfigfilenotfound,usingdefaults.(Lookedfor/home/jsmith/.ssh2/ssh2_config')
debug:Connectingtoremotehost.example.com,port22…(SOCKSnotused)
warning:Connectingtoremotehost.example.comfailed:Noaddressassociatedtothename
[注:不少命令中,v選項對應的英文是verbose,也就是詳細的信息的意思。]
當你使用ssh從本機登陸到遠程主機時,你可能但願切換到本地作一些操做,而後再從新回到遠程主機。這個時候,你不須要中斷ssh鏈接,只須要按照第4點的步驟操做便可:
四、用SSH退出符切換SSH會話
這個技巧很是實用。尤爲是遠程登錄到一臺主機A,而後從A登錄到B,若是但願在A上作一些操做,還得再開一個終端,非常麻煩。
當你使用ssh從本機登陸到遠程主機時,你可能但願切換到本地作一些操做,而後再從新回到遠程主機。這個時候,你不須要中斷ssh鏈接,只須要按照以下步驟操做便可:
當你已經登陸到了遠程主機時,你可能想要回到本地主機進行一些操做,而後又繼續回到遠程主機。在這種狀況下,沒有必要斷開遠程主機的會話,你能夠用下面的辦法來完成:
1.登入遠程主機:
localhost$ssh-ljsmithremotehost
2.已鏈接遠程主機:
remotehost$
3.要臨時回到本地主機,輸入退出符號:「~」與「Control-Z」組合。
當你輸入「~」你不會當即在屏幕上看到,當你按下而且按回車以後才一塊兒顯示。以下,在遠程主機中以此輸入「~」
remotehost$~^Z
[1]+Stoppedssh-ljsmithremotehost
localhost$
4.如今你已經退回到了本地主機,ssh遠程客戶端會話就在UNIX後臺中運行,你能夠向下面那樣查看它:
localhost$jobs
[1]+Stoppedssh-ljsmithremotehost
5.你能夠將後臺運行的ssh會話進程切換到前臺,從新回到遠程主機,而無需輸入密碼
localhost$fg%1
ssh-ljsmithremotehost
remotehost$
五、用SSH退出字符會話,顯示信息
要想取得一些關於當前會話有用的信息,能夠按如下方式完成。不過這隻能在SSH2客戶端上使用。
登陸到遠程服務器
localhost$ssh-ljsmithremotehost
以下所示,在遠程服務器上,輸入ssh退出字符~並輸入s。這樣會顯示出不少有關當前ssh鏈接的有用信息
remotehost$[注:當你在命令行上輸入~s時,它是不可見的.]
remotehost:remotehost
localhost:localhost
remoteversion:SSH-1.99-OpenSSH_3.9p1
localversion:SSH-2.0-3.2.9.1SSHSecureShell(non-commercial)
compressedbytesin:1506
uncompressedbytesin:1622
compressedbytesout:4997
uncompressedbytesout:5118
packetsin:15
packetsout:24
rekeys:0
Algorithms:
Chosenkeyexchangealgorithm:diffie-hellman-group1-sha1
Chosenhostkeyalgorithm:ssh-dss
Commonhostkeyalgorithms:ssh-dss,ssh-rsa
Algorithmsclienttoserver:
Cipher:aes128-cbc
MAC:hmac-sha1
Compression:zlib
Algorithmsservertoclient:
Cipher:aes128-cbcMAC:hmac-sha1
Compression:zlib
localhost$
以上就是Linux下SSH的詳細使用方法,但願可以對你有所幫助。想必各位看了這篇文章以後必定會有所收貨,若想了解更多相關知識請繼續鎖定希賽系統學院!