您的位置:首页 > 运维架构 > Linux

在两台Centos服务器之间建立信任关系

2016-09-01 16:42 411 查看
最近在做基于jenkins的自动化部署,需要将编译出的war包从一台机器拷贝到另一台机器。

不过用scp命令拷贝时,需要输入密码。通过shell解决相对复杂一些。

后来查来查去,发现可以通过在两台服务器之间建立信任关系来实现免密码的拷贝。操作方式如下:

1、在client机器上执行下面的命令,生成本机的安全公钥、私钥

ssh-keygen -b 1024 -t rsa

2、将生成在/root/.ssh目录下的id_rsa.pub文件拷贝到目标机器的/root/.ssh目录下,并重命名为authorized_keys。如果该机要和多个机器建立信任,只需要将其他机器的rsa pub key追加到authorized_keys文件的后面即可。

3、再执行scp拷贝时,就不需要密码了。如下图所示:



【补充】

2016-9-8:今天为一个机器增加免密ssh登陆权限,发现拷贝authorized_keys时,提示/root/.ssh目录不存在。手动创建并拷贝后,每次scp仍然要密码。

修改/etc/ssh/sshd_config文件,打开AuthorizedKeysFile .ssh/authorized_keys的注释,service ssh restart重启ssh服务后,问题仍然无法解决。

后来修改/etc/selinux/config,将SELINUX设置成disabled后,重启系统,问题解决。(注:该方法安全性会变差,暂时没研究selinux如何配置来解决此问题)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: