免密码scp linux

环境:centos 服务器 A, B
目的,实现在服务器B上, 使用scp, 拷贝服务器A 上的文件。

1 服务器B

生成密钥对
1.1 首先查看服务器B 上是否已生成密钥对:

vim ~/.ssh/id_rsa.pub

1.2 如果没有则执行命令生成

ssh-keygen -t rsa -P ""

1.3 获取本机ip地址

2 服务器A

2.1 添加服务器B 的密钥(id_rsa.pub) 到服务器B .ssh/authorized_keys中

cat id_rsa.pub >> .ssh/authorized_keys

2.2 修改 /etc/hosts.allow
打开服务器A上的 /etc/hosts.allow, 将服务器B的ip加入到该文件中并保存。
例如:

sshd:10.25.241.*:allow
或者
sshd:10.25.241.22:allow

注:
出现 ssh_exchange_identification: Connection closed by remote host 错误,是因为没有进行该步骤。

3 服务器B

现在使用scp 从服务器A上拷贝文件,会要求保存密钥,选择yes。
这一步是在执行拷贝,或者利用程序进行拷贝(见个人之前写的python Pexpect 实现输密码 scp 拷贝)之前必须完成的,个人一般直接使用命令行来完成

参考文章
Linux SSH免密码登录与拷贝文件(SCP)
http://blog.csdn.net/xyang81/article/details/51477925

猜你喜欢

转载自blog.csdn.net/a1368783069/article/details/79226713
今日推荐