我想要自己搭建一个CentOS7服务器。
现在我已经按照此链接中提到的步骤操作了:https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7, 包括
- 使用 keygen 生成了我的新密钥 .pub 文件。
- 将以“ssh-rsa”开头的内容添加到 .ssh/authorized_keys
- chmod 密钥和 .ssh 文件夹,
- 使用以下方式配置 sshd
vi /etc/ssh/sshd_config
- 用于
systemctl reload sshd
重新启动 sshd。
此时,我认为将来从我的客户端主机进行的 ssh 操作应该已经需要密钥才能登录。但是,此时我仍然可以使用 ssh 仅使用密码登录我的服务器。
我是否错过了什么特殊程序?
答案1
打开 sshd 配置文件并取消注释或添加行PasswordAuthentication no
。重新启动 sshd 服务。
答案2
- 将以“ssh-rsa”开头的内容添加到 .ssh/authorized_keys
不...这应该在远程系统上进行。在您的个人系统上,您保留私钥,并将公钥添加到/home/<user>/.ssh/authorized_keys
您想要使用该密钥访问的所有系统/用户 ID。这可以“手动”完成,也可以使用ssh-copy-id
,通常:
ssh-copy-id -i ~/.ssh/your_key.pub remote-host
或者
ssh-copy-id -i ~/.ssh/your_key.pub user@remote-host
如果这是不同的用户 ID。
如果您手动执行此操作,请确保在所有文件和 .ssh 目录上保留正确的授权标志(应该严格只对该用户进行 R/W,其他任何人都无权访问)。