如何解决 SSH 连接问题
SSH 客户端是一个用于登录远程机器并在远程机器上执行命令的程序。它旨在通过不安全的网络在两个不受信任的主机之间提供安全的加密通信。
Syntax: ssh [option] [user]@[server_address]
使用私钥或密码通过 SSH 连接到 Linux 服务器
在终端中输入 ssh 命令(ssh 有两种方式——一种使用密码,另一种使用私钥)
使用私钥和公共 DNS 的 ssh 命令:
ssh -i private_key username@Public_DNS
使用私钥和公共 IP 地址的 ssh 命令:
ssh -i private_key username@Public_IP
使用密码和公共 IP 的 ssh 命令:
ssh username@password
SSH 时发生的常见错误
连接超时
当任何用户尝试与服务器建立连接但未能在该时间段内获得响应时,就会发生这种情况。
故障排除步骤:
- 验证主机 IP 地址是否正确
- 验证防火墙规则,检查安全组允许的入站规则。
- 验证 ssh 允许的端口号
拒绝连接
当应该侦听请求的服务器停止侦听时,就会发生这种情况。
故障排除步骤:
- 验证主机 IP 地址是否正确
- 验证防火墙规则,检查安全组允许的入站规则。
- 验证 ssh 允许的端口号
- 验证服务是否正常运行
主机名解析
当对 SSH 主机的引用无法映射到网络地址时,就会发生这种情况。
故障排除步骤:
- 验证主机名是否正确
- 如果不能正常工作,则使用 IP 而不是主机名
拒绝访问
当 ssh 由于凭据错误而无法连接时,就会发生这种情况。
故障排除步骤:
- 验证用户名或密码是否正确
没有权限
当用户无权登录服务器时会发生这种情况。这主要是由于包含 SSH 服务器配置的 sshd_config 文件。
故障排除步骤:
- 导航到 /etc/ssh/sshd_config
- 确保 PasswordAuthentication 和 PubkeyAuthentication 以 yes 结尾
- 确保 ChallengeResponseAuthentication 和 PermitRootLogin 以 no 结尾。
- 重启 sshd_config