Linux免密实现文件拷贝(建立机器之间的SSH密钥认证)

背景:
在之前的工作中,我需要在我的shell脚本中实现将机器A的文件拷贝至机器B,然后去执行一系列的操作。由于我将我想要执行的动作完全写入了shell脚本中,并且不想每次执行时都去输入密码,因此这里,我们需要建立目标机器与本地机器的ssh密钥认证。

步骤:

1.在机器A或者机器B中执行命令:
ssh-keygen -t rsa 这将生成一对密钥,包括公钥(id_rsa.pub)和私钥(id_rsa)。
在这里插入图片描述
在执行的时候,会出现两次配置选项,无特殊处理直接enter即可。这是生成之后的效果
在这里插入图片描述

2.将生成的公钥复制到机器B,执行命令:
ssh-copy-id username@machineB

username替换为机器B上的有效用户名,将machineB替换为机器B的IP地址或主机名。执行此命令时,可能会要求输入机器B的密码。

3.验证是否配置成功,执行命令:
ssh username@machineB 下图是成功登入机器B的示例
在这里插入图片描述
如果一切设置正确,你将能够直接登录机器B而无需输入密码。

拷贝的命令:
1.远程拷贝至本地(pull):
scp username@remote:/path/to/file /local_path/to/destination;其中username是值远程机器的可登录账户,remote:通常为远程机器的ip地址,/loacal_path/to/file是本地机器存放远程文件的相对路径,/path/to/file为远程机器人被拷贝文件的相对路径。
2.本地拷贝至远程(push):
scp /loacal_path/to/file username@remote:/path/to/destination;其中/loacal_path/to/file是本地机器将要被拷贝文件的相对路径,username是值远程机器的可登录账户,remote:通常为远程机器的ip地址

3.无论是远程拷贝至本地,亦或是本地拷贝至远程,对应的命令都应该在本地机器执行。

                                                                                        学海无涯
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值