背景:
最近公司在做等保测评,好多整改项都是要从服务器A异地备份至服务器B。
当我执行脚本备份时,总是要求输入密码,于是记录利用SSH实现免密传输。
生成SSH密钥对
ssh-keygen -t rsa
在客户端也就是传输文件的那台机器上,生成一个公钥和一个私钥。
全部默认回车就行,密钥默认保存在家目录的.ssh文件夹中
复制公钥至目标服务器
scp id_rsa.pub root@serverip:/root/.ssh
scp id_rsa.pub root@192.168.0.15:/root/.ssh
公钥文件写入authorized_keys
cat id_rsa.pub >>authorized_keys
权限加固
chmod 700 .ssh
chmod 600 authorized_keys
修改服务端SSH配置
vim /etc/ssh/sshd_config
#修改项
PubkeyAuthentication yes
RSAAuthentication yes
#重启ssh服务
systemctl restart sshd
测试免密登录
这次无需输入密码,直接连接到目标服务器
ssh root@192.168.0.15
scp 123 root@192.168.0.15:/home