scp 是使用ssh命令来复制文件到远程的。如果在脚本中同步文件,可以设置sshkey免除密码。

目的 A机器免密码scp复制到 B机器

1 A机制作密钥

在A上,运行

ssh-keygen -t rsa

一路回车,会在 ~/.ssh/ 目录生成文件:

~/.ssh/id_rsa

~/.ssh/id_rsa.pub

id_rsa 文件是私钥,是需要保密的,不能分享到其他地方

id_ras.pub 是公钥文件,这个文件需要提交到其他地方以便认证登陆。

这一对密钥总是一起使用的,我们记住:永远只能发布公钥,不要发布私钥。

2 发布公钥

cat id_ras.pub

得到公钥文件内容:

ssh-rsa AA.....9E3yqJ root@Server.162....260

登陆主机B的账号,例如root

echo “公钥内容” >> /root/.ssh/authorized_keys

将公钥文件内容添加到 ~/.ssh/authorized_keys 文件中的最后

3 测试复制scp命令

scp c.data root@198.52.xx.xx:/root/c.data

使用上面的命令,无需密码就可以scp文件到远程。

如果出现了问题,很有可能是 ~/.ssh 目录下文件权限导致的。可以尝试重启B机器的sshd进程解决。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息