Ubuntu禁用密码登陆

配置好了ssh,并启用了匹配的公钥和密钥后,可以设置禁止用户用密码登录,只能用密钥登录。这样就防止了密码在网络上被截取以及暴力破解登录密码的危险。

要在禁止所有用户通过ssh以用户名+密码的方式远程登录系统,修改/etc/ssh/sshd_config文件,把允许密码验证这一行改为no:

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
如果只是要禁止部分用户以密码登入ssh服务,则可以使用passwd命令中的锁定用户的密码,以user用户为例:

passwd -l user

### 如何在Ubuntu系统中禁用密码登录并启用SSH密钥认证 #### 禁用密码登录 为了提高系统的安全性,可以通过编辑SSH配置文件来禁用基于密码的身份验证。具体操作如下: 1. 打开SSH配置文件 `/etc/ssh/sshd_config` 进行编辑: ```bash sudo nano /etc/ssh/sshd_config ``` 2. 修改或添加以下参数以禁用密码登录: - `PasswordAuthentication no` 表示禁用密码身份验证[^4]。 - `ChallengeResponseAuthentication no` 确保挑战响应机制也被禁用。 3. 保存更改后重启SSH服务使配置生效: ```bash sudo systemctl restart sshd ``` #### 设置SSH密钥认证 启用SSH密钥认证的过程分为以下几个方面的内容描述: ##### 生成密钥对 如果尚未生成SSH密钥对,则需要先创建一对新的RSA密钥: ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令将生成一个新的4096位RSA密钥,并将其与指定的电子邮件关联。 ##### 将公钥复制到目标服务器 使用 `ssh-copy-id` 命令或者手动方式将本地计算机上的公钥传输至远程服务器上: ```bash ssh-copy-id user@remote_host ``` 或者通过SCP协议上传公钥文件 `.ssh/id_rsa.pub` 到远程机器中的相应位置(通常是 `~/.ssh/authorized_keys` 文件内)。例如: ```bash scp ~/.ssh/id_rsa.pub user@remote_host:/home/user/.ssh/ ``` 随后,在远程服务器上追加该公钥到授权列表里: ```bash cat id_rsa.pub >> .ssh/authorized_keys chmod 600 .ssh/authorized_keys ``` ##### 验证无密码登录功能 尝试重新连接到远程服务器而无需输入任何密码即可成功建立会话: ```bash ssh user@remote_host ``` 以上步骤完成后,即实现了从依赖于密码向更安全可靠的SSH密钥认证转变的目的。 ### 注意事项 - 在完全禁用密码之前,请务必确认已能够顺利实现基于密钥的身份验证过程,以免因意外情况导致无法正常访问系统的情况发生。 - 对于多用户环境下的场景考虑,可按照相似流程为每位独立账户分别设定专属的SSH密钥对以便区分管理权限范围。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值