ssh远程禁用密码登录

禁用SSH密码登录的步骤

ssh远程禁用密码登录
(图片来源网络,侵删)

在使用SSH(Secure Shell)进行远程连接时,为了提高安全性,通常建议禁用基于密码的认证方式,转而使用密钥对认证,以下是在Linux服务器上禁用SSH密码登录的详细步骤:

1. 确认当前认证方式

你需要检查SSH服务器的配置文件/etc/ssh/sshd_config,以确定当前的认证方式,打开文件并搜索以下行:

#PasswordAuthentication yes

如果该行被注释掉或者设置为yes,则表示当前允许密码认证

2. 修改配置文件

使用文本编辑器打开/etc/ssh/sshd_config文件,找到或添加以下行:

PasswordAuthentication no

这将禁用基于密码的认证。

3. 重启SSH服务

保存配置文件后,需要重启SSH服务以使更改生效,可以使用以下命令之一来重启SSH服务:

sudo systemctl restart sshd(对于使用systemd的系统)

sudo service ssh restart(对于其他系统)

4. 生成SSH密钥对

如果你还没有SSH密钥对,现在是一个好时机来生成它们,在本地计算机上运行以下命令:

sshkeygen

按照提示完成密钥对的生成。

5. 上传公钥到服务器

将生成的公钥上传到服务器,公钥通常位于~/.ssh/id_rsa.pub,使用以下命令上传公钥:

sshcopyid user@server_address

替换userserver_address为相应的用户名和服务器地址。

6. 测试连接

现在尝试使用私钥进行SSH连接,确保一切工作正常:

ssh i ~/.ssh/id_rsa user@server_address

如果连接成功,那么你已经成功禁用了密码认证,并且只能通过密钥对进行认证。

相关问答FAQs

Q1: 如果我想要恢复密码认证怎么办?

A1: 要恢复密码认证,只需将/etc/ssh/sshd_config文件中的PasswordAuthentication设置改回yes,然后重启SSH服务即可。

Q2: 禁用密码登录是否会影响所有用户?

A2: 是的,上述步骤会禁用所有用户的密码登录,如果你只想禁用特定用户的密码登录,可以在/etc/ssh/sshd_config中添加Match User指令来针对特定用户设置不同的认证方式。

Match User specific_user
    PasswordAuthentication no
Match All

这样,只有specific_user会被禁止使用密码登录。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/669079.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-31 21:04
下一篇 2024-05-31 21:07

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入