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

相关文章
相关标签/搜索