分类: LINUX
2013-05-06 19:26:46
场景:设置A服务器(19.x.xx.21)免密码登陆到B服务器(19.x.xx.22)
1) 在A上执行命令:ssh-keygen -b 1024 -t rsa,中间要求输入的时候狂按回车(Enter)就可以了
2) 此时会在~/.ssh2/目录下生成两个密钥文件,它们分别是私钥id_rsa_1024_a和公钥id_rsa_1024_a.pub,为了方便查看和区别对待,重命名之,例如我是这样操作的:
cd ~/.ssh2/
mv id_rsa_1024_a root_19.x.xx.21_a
mv id_rsa_1024_a.pub root_19.x.xx.21_a.pub
3) 把私钥root_19.x.xx.21添加到A服务器的身份验证列表(identification文件)中:
echo "IdKey root_19.x.xx.21_a" >> ~/.ssh2/identification
4) 把公钥root_19.x.xx.21_a.pub上传到B服务器的~/.ssh2/目录下,这里具体的方法就不作多说明了,可以使用rz/sz、scp等等(需要注意的是:此时如果使用scp命令等,还是需要密码验证的)
5) 把公钥root_19.x.xx.21_a.pub添加到B服务器身份验证列表(authorization文件)中:
echo "Key root_19.x.xx.21_a.pub" >> ~/.ssh2/authorization
6) 此时再从A服务器ssh或者scp到B服务器,就可以不用输入密码了
如果想要从B到A也没有密码:
那就在B机器上执行
echo "IdKey root_19.x.xx.21_a" >> ~/.ssh2/identification
在A机器上执行:
echo "Key root_19.x.xx.21_a.pub" >> ~/.ssh2/authorization
为了两个互相不需要密码:
就直接在两台机器是那个都执行这个:
echo "IdKey root_19.x.xx.21_a" >> ~/.ssh2/identification
echo "Key root_19.x.xx.21_a.pub" >> ~/.ssh2/authorization
总结一点:
ssh的源机器要增加 密钥 echo "IdKey root_19.x.xx.21_a" >> ~/.ssh2/identification;
目的机器要增加公钥echo "Key root_19.x.xx.21_a.pub" >> ~/.ssh2/authorization