SSH免密码登陆以及穿越跳板机

1. 免密码直连  [user@hostA ~] $ssh hostB

STEP1. 在hostA上生成RSA公钥私钥(在~/.ssh/下生成RSA私钥id_rsa,公钥id_rsa.pub)

[user@hostA ~]$ ssh-keygen -t rsa

STEP2. 将hostA的公钥传给hostB机器(在hostB机器的.ssh/authorized_keys里面添加A机器的id_rsa.pub)

    方法一:使用 ssh-copy-id工具

[user@hostA ~]$ ssh-copy-id -i .ssh/id_rsa.pub hostB

    方法二:人肉拼接

[user@hostA ~]$ scp .ssh/id_rsa.pub hostB:~/.ssh/temp

[user@hostB ~]$ cat .ssh/temp >> .ssh/authorized_keys

 

2. 穿越跳板机 desktop -> gateway -> server

在我厂,从desktop访问server,必须先登录到gateway,即:

[user@desktop ~]$ ssh gateway

[user@gateway ~]$ ssh server

 

根据"1. 免密码直连”虽然可以减少两次输入密码,但仍然很麻烦。如果可以一步到位该多好。另外,SCP文件更郁闷,先把文件从desktop拷到gateway,再拷到server,奔溃了。。

 

STEP1. 在desktop上生成RSA公钥私钥,方法同1.STEP1

STEP2. 在desktop的.ssh目录下生成config文件,文件内容如下

Host shortServer
    ProxyCommand ssh user@gateway nc server %p 2>/dev/nul

其中,gateway为跳板机ip,server为服务器ip,shortServer自定义一个缩写的服务器名称。

例如:我厂gateway地址x.y.g.w,以及N多服务器,例如*.a.b.c。

Host 123
    ProxyCommand ssh user@x.y.g.w nc 123.a.b.c %p 2>/dev/nul

STEP3. 把deskptop的公钥分发给gateway和server

分发给gateway,因为可以直连desktop和gateway,直接用1.STEP2.方法一

分发给server,因为暂时无法直连desktop和server,所以只能使用1.STEP2.方法二

 

连接方法: 

[user@desktop ~]$ ssh 123

此时SCP也能直接用了

[user@desktop ~]$ scp ToCopy.txt 123:

参考:http://wdicc.com/controlmaster-in-ssh/

posted @ 2013-09-11 19:36  tangyili  阅读(19128)  评论(2编辑  收藏  举报