由于使用密码登录ssh相对而言安全性差一点(而且每次都输密码太麻烦了),我们可以使用密钥进行ssh连接。

先在本地生成一对rsa密钥:

ssh-keygen -t rsa -m PEM -b 3072

随后一路回车即可。

接下来进入用户目录C://Users/用户名/,可以发现已经生成了一个.ssh文件夹。里面包含id_rsaid_rsa.pub两个文件,其中后者是公钥文件。将公钥文件id_rsa.pub上传到服务器需要密钥登录的用户名文件夹的.ssh目录下(如果没有.ssh目录就自己创建一个),并将公钥文件重命名为authorized_keys,例如/home/user1/.ssh/authorized_keys

现在在本地进行ssh连接:ssh user1@ip 已经默认使用密钥了。

接下来需要禁止该用户使用密码登录:

登录服务器修改/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

添加下面内容(user1是禁用密码登录的用户名):

Match user user1
        PasswordAuthentication no
# 重启sshd服务
sudo systemctl restart sshd.service