虚拟机linux打开ssh服务不让输密码
时间: 2024-10-04 18:01:49 浏览: 47
在Linux虚拟机上启用SSH服务并允许无密码登录通常涉及以下几个步骤:
1. **安装SSH**:
首先,确保SSH服务已在系统中安装。如果未安装,可以使用包管理器来安装,例如对于基于Debian的系统如Ubuntu,可以运行 `sudo apt-get install openssh-server`。
2. **配置SSH**:
打开SSH的配置文件 `/etc/ssh/sshd_config`,找到 "PasswordAuthentication" 这一行,将其设置为 "no",这将禁止密码认证。添加这一行:`PasswordAuthentication no`
3. **设置公钥对**:
使用SSH生成一对密钥对,私钥(通常放在`~/.ssh/id_rsa`)用于本地身份验证,而公钥(`~/.ssh/id_rsa.pub`)用于远程主机信任。运行命令:
```
ssh-keygen -t rsa
```
4. **加载公钥到authorized_keys**:
将公钥复制到远程服务器的`~/.ssh/authorized_keys`文件中,或者使用SSH命令 `ssh-copy-id user@your_vm_ip`自动添加。
5. **启动和重启SSHD服务**:
修改完配置后,需要重启sshd服务使更改生效:
```
sudo service ssh restart
```
或者
```
sudo systemctl restart ssh
```
现在,你可以通过SSH密钥无密码登录了。下次连接时只需使用 `ssh user@your_vm_ip` (替换为你的用户名和实际IP地址)。
阅读全文