设置SSH密钥进行身份验证

介绍

最知名的认证方法是密码。 通常密码是由人类创建的,在大多数情况下,人们选择弱密码,因为很容易记住。 大多数时候这些不安全的密码是常见的黑客字典。 一些用户使用密码管理器(如KeePass)来解决弱密码,该密码管理器似乎与webapps配合使用,但是对于SSH密钥验证则更好。 SSH支持所谓的基于密钥的身份验证,基于身份验证的安全密钥。 本教程用于使用密钥身份验证设置OpenSSH服务器。

客户端设置

客户需要生成密钥对(公共和私有)。 稍后我们会将公钥上传到SSH服务器。

ssh-keygen

生成SSH密钥时,系统将提示您输入密码。 我们建议在此步骤中使用新密码。 这将避免别人使用你的钥匙。

将公钥上传到服务器

现在我们将使用ssh-copy-id命令来上传密钥。 您可以手动将公钥(~/.ssh/id_rsa.pub)附加到服务器上的 ~/.ssh/authorized_keys。

ssh-copy-id user@hostname

更安全的SSH设置

此步骤是可选的,但建议禁用密码验证(特别是root用户)打开文件 /etc/ssh/sshd_config 并将PasswordAuthentication更改为“no”值。

PasswordAuthentication no

确保在重新启动SSH服务器之前测试您的ssh密钥验证!

sudo service ssh restart

下面关于SSH相关的文章您也可能喜欢,不妨参考下:

ssh

相关推荐