2、远程服务器ssh设置
此时还是需要用用户名和密码登录远程Linux服务器。使用vi编辑 /etc/ssh/sshd_config 文件,先打开PubkeyAuthentication和PermitRootLogin,一般只要把这几个参数前面的#(注释符)删掉即可。
PubkeyAuthentication yes
PermitRootLogin yes
重启ssh服务
systemctl restart sshd.service
3、上传公钥到远程服务器
在macOS端操作以下命令,把公钥上传到远程服务器,会提示输入远程的Linux服务器的密码。
scp ~/.ssh/id_rsa.pub @:/root/id_rsa.pub
在远程Linux服务器上,操作以下命令,把公钥追加到服务器ssh认证文件中:
cat /root/id_rsa.pub >> ~/.ssh/authorized_keys
如果没有authorized_keys这个文件,请到.ssh文件夹下创建一个,并把权限设置为600。
cat authorized_keys
chmod 600 authorized_keys
追加好后,如果要禁止用户名密码登录,再编辑/etc/ssh/sshd_config文件,把PasswordAuthentication设置为no,重启SSH服务。
PasswordAuthentication no
好了,SSH Key登录已经设置完毕,如果没有设置密钥密码,直接这终端输入ssh root@IP即可登录远程服务器。如果该用户下没有公钥,则会提示Permission denied。