linux无需输入密码完成scp复制

本教程介绍了如何在不使用密码的情况下,通过SSH公钥认证实现从服务器A到服务器B的安全文件复制(SCP)。首先在服务器A上创建并复制公钥到服务器B的authorized_keys文件,然后修改SSH配置允许root登录和指定端口,最后通过SCP命令完成无密码文件传输。
摘要由CSDN通过智能技术生成

准备两台服务器
服务器A 192.168.xxx.xxx
服务器B 192.168.xxx.xxx 登录名为 root
将文件从服务器A拷贝到服务器B

1、使用root用户登录服务器A,在用户主目录创建文件test.txt,用于测试远程复制。
执行scp命令把文件test.txt从服务器A复制到服务器B。

#执行命令 生成公私钥
ssh-keygen -t rsa

在这里插入图片描述
所有需要输入的地方直接按回车。所以公私钥文件都是在默认位置保存,且没有密码。
存储公私钥的文件夹位置默认为~/.ssh/,文件名默认是id_rsa和id_rsa.pub

cd /root/.ssh
ls 查看文件

在这里插入图片描述
2. 将生成的公钥文件(~/.ssh/id_rsa.pub) 的内容复制到服务器B上的
(~/.ssh/authorized_keys) 文件中(如果没有则创建一个),
这样就建立了服务器B对服务器A的信任关系,即在服务器A用任何ssh相关的工具不需要输入登录密码就可以访问服务器B了。

进入B服务器 /root/.ssh 目录执行

cat  ./id_rsa.pub >> ./authorized_keys


#修改 /etc/ssh/sshd_config 文件
vim /etc/ssh/sshd_config

PermitRootLogin yes     注释打开 
StrictModes yes      注释打开

修改Port 
增加访问端口

#保存 重启
systemctl status sshd.service
  1. 测试 执行scp命令把文件test.txt从服务器A复制到服务器B。
scp  test.txt   root@192.168.xxx.xxx:/test.txt
#如果不是22端口 通过-P(大写)增加自定义端口
scp  -P xxx  test.txt   root@192.168.xxx.xxx:/test.txt
#把连接时的log打印出来
ssh -v -l pi root@192.168.xxx.xxx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值