本地生成一个密钥对,之后所有的服务器都使用同一个秘钥对。
当然,要是想安全一些可以生成不同的秘钥。
但这一篇文章只要只讲单台vps从root密码登录更换成秘钥登录。
操作方式:
第一步:
打开windows电脑的cmd,输入下面命令生成本地安全秘钥:
ssh-keygen -t rsa -b 4096 -C "你的邮箱"
一路回车下去即可,当然也可以指定存放目录和密码的解码密码。
如使用默认,保存的路径为:C:\Users\用户名\.ssh
分为4个文件,需使用的为第一个和第二个。
第一个为客户端秘钥:例如ssh软件填入这个进行连接vps。
第二个为服务端秘钥:上传到vps的对应文件夹重启ssh生效。
第二步:
当上面的4个文件生成后,本地打开id_rsa.pub文件,复制内容。
mkdir -p ~/.ssh
echo "你的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
将上面的你的公钥内容
替换为复制的id_rsa.pub文件内容,执行全部命令。
第三步:
修改ssh配置:
sudo nano /etc/ssh/sshd_config
打开ssh的配置文件,在文件的最后面添加下面的代码:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
保存并退出文件,不需要单独关闭以前的密码登录。
在最后的最后就是将我们的ssh进行重启。
sudo systemctl restart ssh
需要注意的就是在第一步生成的4个文件当中,我们将第2个文件打开,将里面的内容上传到vps中,也就是我说的服务端。
例如我下面这个图片,需要生成的4个文件当中的第1个文件,也就是我说的客户端。
正文结束