以前都是用密码登陆服务器的,为了更安全改成私钥登陆。
注意是用私钥登陆ssh服务哦,而不是用公钥登陆,我之前也一直以为是公钥,今天尝试的时候发现我之前的理解是错误的。
后面想想也对,私钥留在自己手上,不能随便拷。
公私钥的生成方法: ssh-keygen -t rsa
默认在~/.ssh文件夹生成 id_rsa.pub 和 id_rsa,前一个是公钥,后一个是私钥,文件名可以看的出来。
一、安装ssh服务
sudo apt install ssh
启动命令为 sudo service ssh restart
二、修改配置文件
也可以不改,因为默认打开了公钥验证,密钥验证也都打开了。
sudo vim /etc/ssh/sshd_config
注意这行 #AuthorizedKeysFile %h/.ssh/authorized_keys
表示默认的公钥文件为~/.ssh/authorized_keys
可以把生成的公钥文件(id_rsa.pub)拷贝到 ~/.ssh/authorized_keys
并置权限为600, 命令为chmod 600 ~/.ssh/authorized_keys
也可以在配置文件中关闭密码登陆,方法是PasswordAuthentication 设置为 no
此行 #PasswordAuthentication yes
三、重启ssh服务
sudo service ssh restart
配置完成了,可以试试 ssh 127.0.0.1, 它会读取~/.ssh/id_rsa私钥文件进行登陆。