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: