ssh Permission denied (publickey,password)
时间: 2023-11-06 19:54:02 浏览: 257
当SSH远程访问出现"Permission denied (publickey,password)"错误时,这通常是由于以下原因之一导致的:
1. 公钥/私钥的问题:在使用SSH进行认证时,需要使用公钥/私钥对进行身份验证。如果公钥/私钥不存在、不匹配或权限不正确,就会导致认证失败。您可以通过以下步骤来解决该问题:
- 确保您的公钥已正确地添加到目标主机的`~/.ssh/authorized_keys`文件中。
- 检查并确保您的私钥位于本地机器的正确位置,并且具有正确的权限(600)。
- 如果您的私钥受密码保护,请确保您输入了正确的密码。
2. 用户名/密码错误:如果您使用用户名和密码进行身份验证而不是公钥/私钥对,那么可能是用户名或密码错误导致的。请确保您输入的用户名和密码是正确的。
3. SSH服务器配置问题:SSH服务器的配置可能导致认证失败。您可以检查以下几点:
- 检查SSH服务器配置文件(通常位于`/etc/ssh/sshd_config`)是否正确配置。特别注意以下选项:
- `PasswordAuthentication`:确保该选项设置为`yes`以允许使用密码进行身份验证。
- `PubkeyAuthentication`:确保该选项设置为`yes`以允许使用公钥进行身份验证。
- 如果您对SSH服务器的配置进行了更改,请重启SSH服务以使更改生效。
相关问题
ssh Permission denied (publickey,password).
当出现"Permission denied (publickey,password)"错误时,这通常表示SSH连接时出现了身份验证问题。这可能是由于以下几个原因导致的:
1. 错误的密钥:请确保您使用的是正确的密钥对。您可以通过以下命令检查密钥是否正确:
```shell
ls -al ~/.ssh
```
确保您的私钥(例如id_rsa)和公钥(例如id_rsa.pub)文件都存在。
2. 未添加公钥到服务器:如果您的公钥尚未添加到服务器的授权密钥列表中,您将无法进行身份验证。您可以使用以下命令将公钥添加到服务器:
```shell
ssh-copy-id username@server_ip
```
其中,username是您在服务器上的用户名,server_ip是服务器的IP地址。
3. 密钥权限不正确:请确保您的私钥文件的权限设置正确。您可以使用以下命令更改权限:
```shell
chmod 600 ~/.ssh/id_rsa
```
4. SSH服务未正确配置:如果您是在新安装的服务器上遇到此问题,可能是因为SSH服务未正确配置。您可以尝试重新安装或重新配置SSH服务。
请根据上述建议检查您的SSH连接设置,并确保您的密钥和身份验证配置正确。如果问题仍然存在,请提供更多详细信息以便进一步帮助您解决问题。
普通用户 ssh Permission denied (publickey,password)
当普通用户使用ssh连接时,如果出现Permission denied (publickey,password)错误,可能是由于以下原因导致的:
1.公钥未添加到服务器上。
2.服务器上的sshd服务未开启。
3.服务器上的sshd服务配置文件未正确配置。
解决方法如下:
1.检查公钥是否添加到服务器上。可以使用以下命令查看公钥是否添加到服务器上:
```shell
cat ~/.ssh/id_rsa.pub
```
如果没有输出公钥,则需要将公钥添加到服务器上。可以使用以下命令将公钥添加到服务器上:
```shell
ssh-copy-id user@server_ip
```
其中,user为服务器上的用户名,server_ip为服务器的IP地址。
2.检查服务器上的sshd服务是否开启。可以使用以下命令检查sshd服务是否开启:
```shell
systemctl status sshd
```
如果sshd服务未开启,则需要启动sshd服务。可以使用以下命令启动sshd服务:
```shell
systemctl start sshd
```
3.检查服务器上的sshd服务配置文件是否正确配置。可以使用以下命令编辑sshd服务配置文件:
```shell
sudo vim /etc/ssh/sshd_config
```
找到以下配置,取消对应的注释:
```shell
PermitRootLogin yes
PubkeyAuthentication no
PasswordAuthentication yes
```
最后重新启动sshd服务:
```shell
sudo service sshd restart
```
阅读全文