因为个人使用习惯,备份了服务器的一些关键设置和密码,比如 ssh 密钥登录的公钥和私钥,同步到了各个私有存储,如果重装系统后去变更,保存的备份也全部要变更,那只能是使用之前生成的公钥和私钥。
测试环境:Ubuntu 20.04 LTS 64bit
首先本地得有 之前设置好的公钥和私钥文件:
默认情况下没改过名的,公钥文件名:id_rsa.pub
,私钥文件名:id_rsa
。
- 复制本地存储的
id_rsa.pub
里面的内容,然后修改服务器的公钥文件,vim ~/.ssh/id_rsa.pub
,把本地的内容替换掉服务端的 id_rsa.pub 内容. - 同步公钥状态到 ssh 服务端:
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
启用密钥登录,关闭密码登录,
vim /etc/ssh/sshd_config
,修改文件中的这两项,如果被 # 注释掉了,注意去掉 #PasswordAuthentication no
PubkeyAuthentication yes配置服务端公钥、私钥文件的权限,如果没有正确的文件权限,sshd 服务端默认开启了严格的权限自检,会导致ssh登录不上:
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
- 重启服务端 sshd 服务,立刻生效:
systemctl restart sshd
- 使用重装系统之前的保存的本地私钥连接即可,一切都没有改变。
ok,学习了👍