通常,当您登录远程服务器时SSH,您使用用户名和密码组合执行此操作。但是,使用密码仅限于长度密码你可以记住或愿意输入。通过SSH密钥身份验证,加密密码短语提供比使用标准密码的更实用的安全凭据。SSH密钥身份验证中的加密强度超出了标准密码可以匹配的内容。
生成你的ssh键
打开在您计划用于登录服务器的客户端计算机上的终端窗口,然后发出命令:
ssh - keygen
接下来,您提示您输入新密钥的文件名。建议您接受默认值(〜/ .ssh / id_rsa)。然后,选择并验证密码。做这一点密码一个坚强的人。
命令完成后,您的钥匙已准备好使用。
将密钥复制到服务器
使用SSH将密钥复制到远程服务器。问题的命令:
ssh-copy-id USER@SERVER_IP
用户是用户名,而server_ip是IP地址您要登录的服务器。您提示您输入用户密码。成功验证后,SSH密钥副本,您可以以正常方式登录服务器。
由于您正在登录的客户端从服务器上登录,因此您将登录服务器上的匹配密钥。
在需要SSH进入服务器的每个客户端计算机上重复此过程。
把它锁定
在服务器中禁用密码身份验证被认为是一种最佳的安全实践,它只依赖于SSH密钥身份验证。相应地修改SSH守护进程配置。执行以下命令打开配置文件:
sudo nano / etc / ssh / sshd_config
在该文件中,寻找线路:
#passwordaechentication是的
通过删除hashtag来解释行,然后更改是的至没有。
接下来,寻找线路:
#pubkeyaechentication是的
不评论这条线。
保存并关闭文件。使用命令重新启动SSH守护程序:
sudo systemctl重新启动sshd
现在,如果您尝试从任何不包含匹配的SSH密钥的客户端SSH,则将拒绝访问。
存储的SSH密钥在哪里?
登录您复制键的服务器。发出命令:
少〜/ .ssh /授权_keys
您将看到从客户端发送的所有密钥(使用ssh-copy-id命令)。要撤销特定客户机的SSH密钥验证,请删除与客户机主机名对应的行(主机名是密钥中的最后一点信息)。
感谢您让我们知道!
告诉我们为什么!