ssh快捷登陸

咱們如今使用SSH登錄虛擬機的時候須要兩步,即先經過跳板機創建一個隧道,而後再登錄。git

一、創建隧道ssh

ssh -vvv -N -L 9999/<要管理的虛擬機IP>/22  -p <跳板機端口> vostunnel@<跳板機IP>.net

二、經過隧道進行ssh鏈接blog

ssh -p 9999 root@127.0.0.1rem

但這樣操做比較麻煩,不容易記住。並且,沒法使用scp直接向虛擬機上拷貝文件,也沒法直接使用git push來向虛擬機上push代碼。get

有一個簡便的方法,在本機的.ssh目錄下建立config文件,在裏面加入:虛擬機

Host <起個好記的名字>it

HostName <虛擬機IP>ast

User <虛擬機用戶名>登錄

ProxyCommand ssh -p <跳板機端口號> <跳板機IP> -W %h:%p

這樣,之後就能夠用這個命令來登錄了:

ssh <好記的名字>

傳文件也同樣:

scp file <好記的名字>:/temp

git遠程庫:

git remote add vm ssh://<好記的名字>/home/git/repo/project1.git

備註,若是上面那種登錄方法很差使,能夠試試把ProxyCommand改爲這個:

ProxyCommand ssh -p <跳板機端口號> <跳板機IP> nc %h %p

------------------------------------------------------------------------------------------------------------------------------------------------

另外兩個小技巧 ControlMaster和ControlPersist SSH支持 ControlMaster 模式, 能夠複用以前已經創建的鏈接。

因此開啓這個功能以後, 若是已經有一條到relay的連接, 那麼再鏈接的時候, 就不須要再輸入密碼了。

而 ControlPersist 參數的含義就是在最後一個鏈接關閉以後也不真正的關掉鏈接, 這樣後面再鏈接的時候就仍是不用輸入密碼。

啓用這兩個功能, 就能夠解決ssh登陸時每次都須要重複輸入密碼的問題了。

在 $HOME/.ssh/config 中加入如下內容:

ControlPersist 4h ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p

在作完如上設置後, 從新登陸一次你須要登陸的機器, 之後每次登陸都不用輸入密碼了。

https://www.ibm.com/developerworks/community/blogs/IBMzOS/entry/20150502?lang=en

相關文章
相關標籤/搜索