SSH连接不上,提示”拒绝访问”怎么办?

2026年7月27日

排查SSH拒绝访问问题时先用ssh -v root@设备IP -p 端口以详细日志模式连接查看具体错误类型,Connection refused检查OpenSSH安装状态和越狱环境是否激活,Permission denied检查~/.ssh目录权限是否为700且authorized_keys权限为600,对于iOS 14以上设备需确认SSH监听地址为真实IP而非127.0.0.1必要时修改sshd_config中的ListenAddress,Dopamine越狱需改用mobile用户登录而非root,最后清除本地known_hosts缓存解决公钥指纹变更冲突。

SSH服务未正常运行或监听地址配置错误导致连接被拒绝

越狱后SSH服务可能未正常启动或监听地址仅为本地回环

iOS设备越狱后需要安装OpenSSH或Dropbear等SSH服务端才能接受远程连接,但即使安装完成,服务也可能因配置问题未正常启动。在iOS 14.2越狱设备上,安装OpenSSH后SSH服务能够正常运行,但重启设备并进行二次越狱后,SSH服务虽然仍在运行,其监听地址却变成了127.0.0.1,导致使用真实IP地址连接时被拒绝。这是因为重启后越狱环境虽重新激活,但SSH服务的配置被重置,仅监听本地回环地址而非设备真实IP,外部连接请求无法抵达服务端口

通过修改sshd_config文件将监听地址改为真实IP

当SSH服务监听的IP地址不是设备真实IP时,外部连接请求会被拒绝。修改/etc/ssh/sshd_config配置文件可以解决此问题,在其中将ListenAddress设置为设备的真实IP地址,如192.168.80.206。修改完成后需要重启SSH服务使配置生效,在越狱设备终端中执行launchctl unload -w /Library/LaunchDaemons/com.openssh.sshd.plistlaunchctl load -w /Library/LaunchDaemons/com.openssh.sshd.plist两组命令来重启服务。部分越狱工具如yalu102采用的是Dropbear而非OpenSSH,需要修改dropbear.plist中的ProgramArguments参数,将127.0.0.1:22直接改为22,然后重启设备

使用爱思助手SSH通道127.0.0.1连接可作为备选方案

如果无法或不便修改设备端的SSH监听配置,爱思助手提供了替代连接方式。在爱思助手的工具箱中点击打开SSH通道,软件会自动通过usbmuxd将设备的22端口映射到电脑本地的127.0.0.1端口,此时用户可以在电脑终端执行ssh [email protected] -p 端口号进行连接。这种方式的优势在于避开了设备端监听地址配置问题,即使真实IP无法连接,通过映射通道也能正常建立SSH会话。对于使用真实IP连接被拒绝的情况,这是最为便捷的替代方案。

公钥认证失败或权限设置不当导致认证拒绝

authorized_keys文件或.ssh目录权限过宽触发安全拒绝

SSH协议对密钥文件的安全性要求极为严格,无论是OpenSSH还是Dropbear均强制执行特定的权限规则。~/.ssh目录的权限必须为700(drwx——),仅允许所有者读写执行;~/.ssh/authorized_keys文件的权限必须为600(-rw——-),禁止群组和其他用户访问。如果权限设置过宽,例如authorized_keys权限为644,SSH服务端会主动忽略该文件以防止安全风险,导致公钥认证失败并返回Permission denied错误。这是SSH连接提示拒绝访问最常见的排查方向之一。

密钥格式不兼容导致认证被拒绝

开发者常使用不同工具生成SSH密钥,这可能导致格式不兼容问题。PuTTYgen生成的.ppk格式私钥无法被OpenSSH或Dropbear直接识别,连接时会因密钥格式不匹配导致认证被拒绝。正确的做法是使用OpenSSH原生命令ssh-keygen -t rsa -b 2048 -m PEM生成密钥,或使用PuTTYgen将密钥导出为OpenSSH格式后再使用。在使用ssh -v详细日志模式连接时,如果看到”Offering public key”后跟”Authentication refused”的提示,通常意味着密钥格式或部署存在问题。

Dopamine越狱默认禁止root登录而要求使用mobile用户

在较新的越狱环境中,如使用Dopamine工具越狱iOS 15设备,开发者出于安全考虑改变了默认的SSH登录策略。Dopamine明确声明不再支持直接以root用户身份登录,也不推荐这样做,而是建议使用mobile用户登录,然后通过sudo执行需要root权限的命令。用户首次越狱时会被提示设置sudo密码,之后连接应使用ssh mobile@设备IP而非ssh root@设备IP。如果仍尝试root登录,会收到UNIX authentication refused的错误提示,这并非配置故障而是设计如此

防火墙、网络或代理软件阻断SSH连接请求

电脑端防火墙拦截导致连接被拒绝

电脑上的防火墙或安全软件可能会拦截SSH客户端尝试与设备建立的连接请求,尤其是在使用爱思助手SSH通道通过127.0.0.1端口连接时。防火墙规则可能将端口映射或本地回环连接视为异常行为而阻断,导致连接超时或被拒绝。排查时可以临时关闭电脑防火墙或安全软件后再尝试连接,确认是否为防火墙导致的拒绝访问。如果确认是防火墙原因,将SSH客户端或爱思助手添加到防火墙的信任列表中即可解决问题。

VPN和代理软件改变了网络通信路径

VPN或代理类软件运行时会修改电脑的网络路由和通信路径,可能导致SSH客户端无法正确将请求发送到目标地址。设备真实IP连接方式下,VPN可能将请求转发到外部网络而非局域网,导致连接被拒绝。使用爱思助手127.0.0.1映射端口时,代理设置同样可能干扰本地端口通信。使用SSH前应检查并关闭电脑和手机上运行的任何VPN或代理工具,确保SSH通信路径不受干扰。

网络层路由或ACL规则阻止了SSH端口访问

如果SSH客户端无法ping通设备IP,或设备所在网络启用了ACL访问控制规则,SSH连接同样会被拒绝。在办公或公共网络环境中,网络管理员可能禁用了设备间的TCP通信或特定端口的访问。排查时可以尝试将设备连接至无访问限制的家庭网络环境,或将电脑和设备置于同一路由器的同一网段下再尝试SSH连接。通过telnet 设备IP 22命令测试端口是否可达,如果无法连接则说明网络层面存在阻断

known_hosts缓存冲突或服务器身份信息变更

服务器公钥指纹已变更导致连接被拒绝

当设备的SSH服务重新安装或配置后,服务器主机的公钥指纹会发生变化。SSH客户端会将首次连接时接收到的公钥指纹保存到known_hosts文件中用于后续连接的合法性验证。如果设备重新越狱或重装了SSH服务,公钥发生变化,客户端再次连接时会检测到指纹不匹配并拒绝连接。错误信息通常包含”WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED”的警告,此时需要删除known_hosts中对应设备的旧记录。

清除known_hosts缓存或使用ssh-keygen -R命令

解决公钥指纹变更导致的拒绝访问,最直接的方式是清除known_hosts文件中对应该设备IP的记录。用户可以直接打开~/.ssh/known_hosts文件,找到对应IP的行并删除,或使用ssh-keygen -R 设备IP命令自动完成此操作。清除后再次连接时SSH客户端会提示确认新的公钥指纹,输入yes即可继续。这一操作仅清除特定设备的指纹记录,不会影响其他设备的SSH连接。

半不完美越狱重启后SSH服务配置需重新激活

使用unc0ver或Checkra1n等半不完美越狱工具的设备,重启后越狱环境会失效,SSH服务也会随之停止。此时即使爱思助手显示设备已越狱,SSH连接也会因为服务未运行而被拒绝。用户需要重新运行越狱工具激活越狱环境,SSH服务才能恢复正常工作。重新激活后如果仍无法连接,可能需要重复检查SSH服务的监听地址配置是否正确,因为重启可能重置部分配置。

越狱工具特定版本或SSH实现导致的兼容性问题

不同越狱工具使用不同的SSH实现导致配置路径差异

Yalu102等较老的越狱工具默认安装的是Dropbear而非OpenSSH,其配置文件路径和参数设置与OpenSSH完全不同。Dropbear的配置文件通常位于/var/containers/Bundle/Application/越狱应用目录/dropbear.plist,而非/etc/ssh/sshd_config。当使用这类越狱工具时,需要修改dropbear.plist中ProgramArguments的监听端口和地址参数,而不是修改sshd_config。不了解这一差异的用户按OpenSSH的配置方式操作,会因修改了错误的配置文件而导致问题无法解决。

密钥算法不兼容导致认证被拒绝

不同版本的SSH实现支持的加密算法和密钥交换协议存在差异。较老的iOS设备和越狱工具可能不支持现代的Ed25519算法或某些密钥交换方法,导致连接时认证被拒绝。如果客户端使用的算法与服务器端不匹配,可以通过在服务器端修改算法列表增加客户端支持的算法来解决,或在客户端添加服务器端支持的相关算法。使用旧版Dropbear的设备建议使用RSA 2048位密钥配合PEM格式而非Ed25519。

Dopamine等新越狱工具的root登录策略变化需要留意

Dopamine这类新的越狱工具在SSH登录策略上做出了与旧工具不同的设计选择。明确不再支持root用户直接登录,而是要求用户使用mobile用户登录后通过sudo执行命令。用户如果按照旧习惯直接输入ssh root@IP会收到认证拒绝的错误。解决方案是改用ssh mobile@IP,登录后再执行sudo -isudo su切换至root身份。用户首次越狱时设置的密码即为sudo密码,与SSH密码是同一凭据

常见问题一:iOS越狱设备SSH连接提示Connection refused是什么原因?

Connection refused说明设备的SSH服务未运行或端口被占用。可能是设备重启后半不完美越狱环境失效导致SSH服务停止,需要重新运行越狱工具激活环境。也可能是设备未安装OpenSSH或安装后服务未正常启动,检查Cydia中OpenSSH是否已安装。

常见问题二:SSH连接提示Permission denied (publickey)怎么解决?

Permission denied说明公钥认证被拒绝,最常见原因是~/.ssh目录权限不是700或authorized_keys文件权限不是600,SSH服务会因权限过宽而忽略认证文件。使用chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys修复权限后重新连接。

常见问题三:真实IP连接被拒绝但爱思助手的127.0.0.1可以连接,是什么原因?

这说明设备SSH服务正常运行,但监听地址配置为127.0.0.1而非真实IP,外部真实IP发起的连接请求无法抵达SSH服务端口。需要修改/etc/ssh/sshd_config中的ListenAddress为设备真实IP并重启SSH服务,或直接使用爱思助手SSH通道通过127.0.0.1连接。

常见问题四:Dopamine越狱后SSH连接root用户提示authentication refused怎么办?

Dopamine越狱默认禁止root用户直接SSH登录,这是设计如此。应改用ssh mobile@设备IP连接,登录后使用sudo执行需要root权限的命令。首次越狱时设置的密码即为sudo密码。