用ssh登录不同的linux机器时,如果2台或者多台机器需要经常互相访问,尤其是内网情况下,配置SSH自动登录就会方便很多,不用一次一次的输入密码了,另外同步时也便于操作。假设有两台机器A和B,确保当前目录为/root目录。配置步骤如下:
先在A上:
1、输入:ssh-keygen –t rsa,会提示Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa): Created
directory '/root/.ssh'. 接下来只需要按任意键即可。
2、接着进入.ssh目录,输入:scp
id_rsa.pub root@B的ip:.ssh/temp.pub;
这句话的意思是将机器A的id_rsa.pub拷贝到机器B的/root/.ssh/temp.pub下。如果没有authorized_keys,则touch
authorized_keys。
3、然后执行下面两条,将密钥全部重定向到authorized_keys。
cat id_rsa.pub >> authorized_keys;
cat temp.pub >> authorized_keys;
4、倒数第二步改变文件属性: chmod 700 .ssh ;chmod 644 authorized_keys;
5、最后执行/etc/init.d/sshd restart,重启ssh服务。
同样在机器B上按步骤执行上面相同的命令,只需将上面的第二步命令B的ip改成A的ip即scp
id_rsa.pub root@A的ip:.ssh/temp.pub;
完成后就配置成功了。
可以用service
sshd restart命令检测一下具体用哪个命令重启ssh服务。
嘿嘿,其实第五步也可以使用:systemctl restart sshd.service,前提是有systemctl
命令,但redhat没有此命令,因此最好用第五步的命令重启ssh服务。
如果执行完上述命令后还是不能登录,可用ssh-copy-id脚本,ssh-copy-id -i ~/.ssh/id_rsa.pub root@需登录的主机IP。