SSH开启密钥登录

aliangham2021-12-22Linux133

hom.webp

制作密钥对

  • 在服务器上制作密钥,首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令:

ssh-keygen
#返回值如下
root@Hammer:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
  • 默认目录为/root/.ssh/id_rsa

  • <==按回车 进行下一步

  • /.ssh'.Enterpassphrase(emptyfornopassphrase)

  • <==输入密钥密码,或直接按回车留空(无密码)

  • Entersame passphrase again:

  • <==再输入一遍密钥密码,留空继续回车(无密码)

  • Youridentification has been savedin/root/.ssh/id_rsa

  • <==私钥

  • Yourpublickey has been savedin/root/.ssh/id_rsa.pub

  • <==公钥

  • Thekey fingerprintis:XX:XX:XX:XX:XX密钥指纹(牢记保存!)root用户名@host主机

  • 现在,在 root 用户的家目录中生成了一个".ssh"的隐藏目录,内含两个密钥文件。id_rsa 为私钥,id_rsa.pub 为公钥。

#返回值如下
root@Hammer:~# ls -ls .ssh
total 12
4 -rwx------ 1 root root  732 Mar 30 06:14 authorized_keys
4 -rwx------ 1 root root 3273 Mar 30 06:14 id_rsa
4 -rwx------ 1 root root  732 Mar 30 06:13 id_rsa.pub
root@Hammer:~#

在服务器上安装公钥

在服务器上安装公钥以及配置权限:

cat id_rsa.pub >> authorized_keys
chmod 700 ~/.ssh/*

设置 SSH,打开密钥登录功能

编辑 /etc/ssh/sshd_config 文件,进行如下设置:
搜索并修改一下项值即可:最后一项为禁用常规密码登录,请调试后再设置为NO

(No为禁用密码登录,更加安全)

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication yes

另外,请留意 root 用户能否通过 SSH 登录:

cat /etc/ssh/sshd_config | grep 'PermitRootLogin' -i

如果返回值不包含yes 或包含#注释,请手动修改!
当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:

PasswordAuthentication no

最后,重启 SSH 服务:

service sshd restart

注意:并非所有系统都有serviced 服务,若报错,请直接reboot主机!

配置私钥

将私钥 id_rsa 下载到客户端,装载密钥需要之前设置的密码。

相关文章

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。