linux 不同服务器scp免密远程传输文件实例 ssh 免密登录

本文介绍了如何在A服务器上通过SSH-keygen生成RSA密钥对,并将公钥复制到B服务器,实现免密SCP传输文件和SSH登录。过程中需要注意避免覆盖已有的authorized_keys文件,如果遇到仍需密码的情况,可能需要检查B服务器.ssh目录的权限设置。

假使现在有A(客户端),B(服务端)两台服务器,需要在A服务器上免密scp传输文件到B服务器,操作如下。

1.在A服务器执行ssh-keygen -t rsa,生成配对秘钥,一直enter即可,注意不要输入passphrase(口令)。

执行完该命令后,会在当前用户的.ssh目录下生成id_rsa,id_rsa.pub两个文件

(.ssh是隐藏文件夹,使用ls -al命令查看隐藏文件夹)

2.执行以下命令将 id_rsa.pub(公钥)这个文件复制到B服务器用来登录用户的.ssh目录下,并重命名为authorized_keys

命令:scp -P 端口号 id_rsa.pub B服务器登录用户名@B服务器IP:~/.ssh/authorized_keys
注意:如果发现B服务器该用户的.ssh目录下已有authorized_keys文件,说明B服务器之前已经和其他服务器建立过信任链接,在此我们不能覆盖该文件,只需要将A服务器的公钥追加到B服务器的authorized_keys即可,命令:cat id_rsa.pub >>authorized_keys

至此,A服务器scp传输文件到B服务器或者A服务器从B服务下载文件均不再需要输入密码了。

同时,A服务器上ssh B服务器也不需要输入密码了。

说明:如果配置之后, A ssh B 发现仍然需要输入密码,可能是没有修改服务端(B服务器).ssh文件夹的权限导致的,进入到服务端的用户(.ssh)所在目录下,执行以下命令:

chmod 700 ~/.ssh

chmod 600 ~/.ssh/authorized_keys
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值