注意事项:检查是否更改成功一定要新开窗口连接服务器测试!!!
密码登录
步骤一:给root附密码
bash 代码:sudo passwd root
步骤二:切换root权限
bash 代码:sudo -i
步骤三:更改文件内容
bash 代码:nano /etc/ssh/sshd_config
移动至#PermitRootLogin prohibit-password,将#注释删掉,并把prohibit-password改为yes
移动至#passwordAuthentication yes,将#注释删掉
ctrl+O保存 ctrl+X退出,保存并关闭配置文件。
步骤四: 重新启动SSH服务
bash 代码:sudo systemctl restart sshd
最后,重新启动SSH服务以使更改生效:
公钥登录
关闭Linux的ssh密码连接可以提高安全性,建议使用公钥认证代替密码认证。以下步骤介绍如何关闭Linux的ssh密码连接:
步骤一: 生成公钥对
首先,在您想要用于登录的本地计算机上生成公钥对。这可以通过以下命令完成:
bash 代码:ssh-keygen
这将提示您输入密钥的保存文件名(默认值为“id_rsa”)以及可选的密码短语。如果您选择设置密码短语,每次使用私钥登录时都需要输入该短语。
生成密钥对后,您将看到两个文件:
id_rsa: 这是您的私钥,请务必将其保密。不要将其与任何人共享,也不上传到公共服务器。
id_rsa.pub: 这是您的公钥,可以安全地与他人共享或添加到服务器上。
步骤二: 将公钥添加到服务器
将您的公钥添加到您想要无密码登录的Linux服务器。您可以通过以下方法之一完成此操作:
使用ssh-copy-id命令:
ssh-copy-id username@server_ip
这将提示您输入服务器的密码,然后将您的公钥复制到服务器上的 ~/.ssh/authorized_keys 文件中。
手动将公钥添加到服务器:
使用以下命令将您的公钥内容复制到剪贴板:
cat id_rsa.pub
登录服务器并打开 ~/.ssh/authorized_keys 文件进行编辑:
bash 代码:nano ~/.ssh/authorized_keys
将您的公钥粘贴到文件末尾,保存并关闭文件。
步骤三: 编辑SSH服务器配置
在服务器上,编辑SSH服务器配置文件(通常位于 /etc/ssh/sshd_config)以禁用密码登录。找到以下行:
bash 代码:nano /etc/ssh/sshd_config #进入文档找到 #PasswordAuthentication yes 更改为PasswordAuthentication no
bash 代码:#PasswordAuthentication yes
并将其改为:
PasswordAuthentication no
ctrl+O保存 ctrl+X退出
保存并关闭配置文件。
步骤四: 重新启动SSH服务
最后,重新启动SSH服务以使更改生效:
bash 代码:sudo systemctl restart sshd
现在,您应该无法使用密码登录到您的Linux服务器。只能使用公钥认证登录。
其他注意事项:
确保您的私钥安全。如果私钥泄露,任何人都可以登录您的服务器。
您可以为不同的用户生成不同的公钥对。
关闭ssh密码连接可以提高安全性,但重要的是要采取其他安全措施来保护您的服务器,例如使用强密码、启用防火墙和保持软件更新。