其他分享
首页 > 其他分享> > 2022.3.7---ssh密钥无密码传输

2022.3.7---ssh密钥无密码传输

作者:互联网

手动转移恢复备份的数据费时费力。最好是实现远程自动传输备份的Gitlab文件。通过scp拷贝文件需要输入密码,而定时任务里面是不能输入密码的,为了克服这个问题,发现ssh密钥传输的方式可以跳过密码,然后用scp定时的传输备份的文件。

环境准备:

1.gitlab所在的服务器A(centos7,192.168.1.1)

2.备份服务器B(centos7,192.168.1.2)

 

步骤:

 1)在gitlab服务器A上生成rsa证书 

ssh-keygen -t rsa
####命令输入后一直回车,直接以用默认的

这样,在/root/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,其中公共密钥保存在 /root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。

2)在gitlab服务器A上cp一份rsa公钥证书 
cd /root/.ssh
cp id_rsa.pub id_rsa.pub.A

3)生成rsa公钥证书传输到备份服务器B
mkdir -p /root/.ssh
#####先在服务器B上创建目录/root/.ssh。

scp /root/.ssh/id_rsa.pub.A root@192.168.1.2:/root/.ssh/
#####使用scp命令进行远程复制,将服务器A生成的id_rsa.pub.A拷贝到服务器B的/root/.ssh目录下。此时需要服务器B的输入密码
4)创建authorized_keys文件
touch /root/.ssh/authorized keys
####在备份服务器B的/root/.ssh下创建authorized_keys文件,这个authorized_keys是一个文件,里面是各个设备ssh公钥文本合集
5)将id_rsa.pub.A文件内容追加到authorized_keys 文件中
cd /root/.ssh/
cat id_rsa.pub.A >> authorized_keys
####此处的cat是把id_rsa.pub.A里面的内容复制追加到authorized_keys里面
6)修改authorized_keys文件的权限
chmod 600 authorized_keys

####修改权限之前

 ####修改权限之后

 

7)修改SSH配置文件

vim /etc/ssh/sshd_config

####在配置文件中确保存在且没有注释掉如下内容

 

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)

########设置完之后记得重启SSH服务,让设置升效
service sshd restart


 

上述设置完成后再次scp命令则不需要输入密码

把scp命令加入到crontab -e中即可

 














 

标签:keys,rsa,2022.3,---,ssh,root,id,authorized
来源: https://www.cnblogs.com/to-be-a--/p/15979747.html