
# 远程连接失败，提示"认证失败"
#### 问题现象
执行远程连接操作时，提示"认证失败"。
#### 可能原因
用户名、IP地址或端口配置有误。
#### 解决方法
1. 检查待访问的目标机器用户名、IP地址、端口是否正确。 
   1. 在华为云码道代码智能体IDE中，单击 ![](https://support.huaweicloud.com/codeartsagent_faq/zh-cn_image_0000002574358736.png)，进入远程开发页面。
   
   2. 将鼠标悬浮在对应的连接上，查看用户名、IP地址和端口是否正确。 您也可以单击远程连接上的 ![](https://support.huaweicloud.com/codeartsagent_faq/zh-cn_image_0000002605398949.png)，进入连接编辑页面进行查看。
      **此处配置的密码是对应Linux账户的登录密码，端口是SSH的连接端口。如果是普通Linux主机，端口一般默认为22，如果是远程Docker容器，则需要使用映射的端口。**
      
   
   
   
   
2. 根据错误提示信息进行修改。 
   - **无效的用户名或密码**
     当前选用的认证方式为密码认证，如果所选方式无误，请检查用户名、密码是否填写正确，并检查远程主机上的"/etc/ssh/sshd_config"文件中，PasswordAuthentication是否被开启（默认值为yes）。如果当前使用root用户登录，请检查远程主机上的"/etc/ssh/sshd_config"文件中，PermitRootLogin是否被开启（默认值为yes）。
     
   
   - **无效的用户名或私钥**
     当前选用的认证方式为密钥认证，如果所选方式无误，请检查用户名、密钥文件选择是否正确，并检查远程主机上的"/etc/ssh/sshd_config"文件中，PubkeyAuthentication是否被开启（设置为yes）。
     
   
   - **你的密码已过期/密码可能已经过期**
     当前选用的认证方式为密码认证，如果所选方式无误，则说明账号或者密码过期。可以通过管理员用户登录到目标主机，然后通过chage命令查看、修改账户/密码的过期时间。相关命令参考如下：
     ```
     # 查看某个用户的密码过期时间
     chage -l [user] 
     # 设置某个用户的密码保持有效的最大天数（99999）
     chage -M 99999 [user]
     # 修改某个用户的密码到期的日期，过了这一天，此账号将不可用。0表示马上过期，-1表示永不过期。
     chage -E  "2025-09-25" [user]
     ```
     
   
   - **无效的密码或者root用户未被允许登录**
     由于当前使用root用户登录，请检查远程主机上的"/etc/ssh/sshd_config"文件中，PermitRootLogin是否被开启（默认值为yes）。如果未开启，需要修改文件并通过命令service sshd restart或sudo systemctl restart sshd重启SSH服务。
     
   
   
   
   
 
