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