共计 1342 个字符,预计需要花费 4 分钟才能阅读完成。
介绍
最知名的认证方法是密码。通常密码是由人类创建的,在大多数情况下,人们选择弱密码,因为很容易记住。大多数时候这些不安全的密码是常见的黑客字典。一些用户使用密码管理器(如 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 服务全过程及问题解决 http://www.linuxidc.com/Linux/2011-09/42775.htm
Ubuntu 14.04 下安装 Samba 及 SSH 服务端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm
集群环境 SSH 免密码登录设置 http://www.linuxidc.com/Linux/2017-03/141296.htm
提高 Ubuntu 的 SSH 登陆认证速度的办法 http://www.linuxidc.com/Linux/2014-09/106810.htm
远程 SSH 连接服务与基本排错 http://www.linuxidc.com/Linux/2017-05/143738.htm
使用 SSH 公钥密钥自动登陆 Linux 服务器 http://www.linuxidc.com/Linux/2017-02/140642.htm
开启 SSH 服务让 Android 手机远程访问 Ubuntu 14.04 http://www.linuxidc.com/Linux/2014-09/106809.htm
SSH 非交互式密码授权远程执行脚本 http://www.linuxidc.com/Linux/2017-04/143180.htm
SSH 通过密钥登陆 http://www.linuxidc.com/Linux/2017-06/144997.htm
Linux 上实现 SSH 免密码登陆远程服务器 http://www.linuxidc.com/Linux/2017-05/144165.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-07/145675.htm