设置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相关的文章您也可能喜欢,不妨参考下:

Ubuntu 下配置 SSH服务全过程及问题解决

Ubuntu 14.04 下安装Samba 及SSH 服务端的方法

集群环境SSH免密码登录设置 

提高Ubuntu的SSH登陆认证速度的办法

远程SSH连接服务与基本排错 

使用SSH公钥密钥自动登陆Linux服务器

开启SSH服务让Android手机远程访问 Ubuntu 14.04 

SSH非交互式密码授权远程执行脚本 

SSH通过密钥登陆

Linux上实现SSH免密码登陆远程服务器 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/33045ab2d2d91814af5d92491fb3e5fb.html