Linux下SSH命令使用方法詳解

    一、查看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的詳細使用方法,但願可以對你有所幫助。想必各位看了這篇文章以後必定會有所收貨,若想了解更多相關知識請繼續鎖定希賽系統學院

相關文章
相關標籤/搜索