scp无密码复制

以下操作是在centos 6.3的机子上运行的。

A B 两机器

A 机器上执行 ssh-keygen �Ct rsa  然后一路回车如下图所示

wKioL1LKiUbRxTnHAACXmM6JGK4253.jpg

在用户目录下~/.ssh/会产生两个文件,id_rsaid_rsa.pub

如果登录用户是root ,则在/root/.ssh/目录下

如果登录用户是dengy ,则在/dengy/.ssh/目录下。


A 主机的id_rsa.pub文件拷贝到B主机的用户主目录下的.ssh目录下,并且改名 authorized_keys。这样A主机scp复制文件到B主机上将不提示输入密码了。反之亦然。

如下图所示:

wKiom1LKidyiVIX-AACESIMw33M416.jpg

附加:


如果多台服务器都往一台服务器上进行SCP无密码复制,那么,证书(公钥)应该怎么解决呢?(原因是这样的,因为你生成公钥后会将其拷贝到另一台机子,并将其名改为authorized_keys,那么多台服务器的公钥不可能同时改成authorized_keys啊。如何解决呢?)


我是这样解决的。

假设有三台服务器分别为A 172.16.1.2   B172.16.1.251   C172.16.1.246

AB两台服务器要备份数据到C服务器。按照如下方式操作:


A服务器按以上操作,生成公钥和私钥,然后将A服务器的公钥SCPC服务器的~.ssh目录下(这个时候是需要输入密码的),然后进入C服务器重命名如下所示,

mv id_rsa.pub id_rsa.pub_1.2

B服务器按A服务器操作进行同样的操作,最后一步如下所示,

mv id_rsa.pub id_rsa.pub_1.251

操作完毕后进行如下操作


Cp id_rsa.pub_1.2 authorized_keys

Cat id_rsa.pub_1.251 >>authorized_keys   重定向

这样,A B 两台服务器就可以同时SCP无密码复制了。


注意,有一个地方特别容易出错。有些人会这样操作,如下

Touch authorized_keys

Cat id_rsa.pub_1.2 > authorized_keys

Cat id_rsa.pub_1.251 >>authorized_keys

这样做似乎无效,执行脚本时还得输密码。原因我个人认为就是authorized_keys这个文件是不能手工建立的。



你可能感兴趣的:(linux,scp,无密码复制)