Linux无需密码SSH登陆

今天自动化检测里有一步需要定时svn checkout,然后进行编译,而checkout需要验证passwd,正巧我们用的这svn是基于svn+ssh的,所以懒得去弄所谓的保存,缓存svn密码登录,直接将svn服务器配成是无需密码ssh来login即可,具体方法:

假如目标是服务器1请求不输入密码直接SSH登陆服务器2,一定要弄清楚清楚自己在服务器1上到底是用哪个用户名以及不需要密码来登陆服务器2上的是哪个用户

服务器1,用户名A

服务器2,用户名B

假如是A在1上想无需密码通过用户B登录2:

1:ssh A@服务器1

2:cd /home/A/.ssh

3:ssh-keygen –t rsa

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/A/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

这三步交互都直接回车,这样,当前目录下就会生成两个文件id_rsa和id_rsa.pub

4:cp id_rsa.pub authorized_keys

5:ssh B@服务器2

6:cd /home/B/.ssh

7:scp A@服务器1/home/A/.ssh/id_rsa.pub ./authorized_keys

8:chmod a+r authorized_keys

Ok,大功告成,返回服务器1,用B用户登录服务器2吧,如果还是涉及到权限问题请检查.ssh里的读权限,还有假如是想用root用户登陆,也没问题,/home/A改成/root就行了,还有一点,假如authorized_keys文件已经存在了,或者其他人已经在里面有内容,可以将id_rsa.pub的内容echo >>地添加到文件后面而不覆盖

发表回复