administrator@127.0.0.1: Permission denied (publickey)
时间: 2024-01-21 21:15:19 浏览: 284
Nginx中报错:Permission denied与Connection refused的解决
5星 · 资源好评率100%
根据你提供的引用内容,出现"Permission denied (publickey)"错误通常是由于SSH密钥验证失败导致的。这个错误提示表明SSH连接尝试使用了公钥验证,但是验证失败了。
解决这个问题的方法有两种:
1. 重新生成SSH密钥对并将公钥添加到虚拟机中:
- 首先,删除本地计算机上的旧SSH密钥对。在命令行中执行以下命令:
```shell
rm -rf ~/.ssh/id_rsa*
```
- 然后,重新生成SSH密钥对。在命令行中执行以下命令:
```shell
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
```
这将生成一个新的SSH密钥对,并要求你提供一个密码(可选)。
- 接下来,将公钥添加到虚拟机中。在命令行中执行以下命令:
```shell
ssh-copy-id vagrant@127.0.0.1
```
这将把你的公钥复制到虚拟机的`~/.ssh/authorized_keys`文件中,允许你使用SSH密钥进行验证。
2. 修改SSH配置以使用密码验证:
- 打开虚拟机的SSH配置文件。在命令行中执行以下命令:
```shell
sudo nano /etc/ssh/sshd_config
```
- 在文件中找到`PasswordAuthentication`行,并将其值改为`yes`:
```
PasswordAuthentication yes
```
- 保存并关闭文件。然后重新启动SSH服务:
```shell
sudo service ssh restart
```
- 现在你应该能够使用密码进行SSH登录。
请注意,第一种方法更安全,因为它使用了SSH密钥进行验证。第二种方法则使用了密码验证,可能会降低安全性。
阅读全文