我写得有点困惑,因为我已经尝试了所有方法。如果我遗漏了任何关键信息,请告诉我,以便您能帮助我。
我正在尝试通过 SSH 进入我的 Cyberpower PDU(设备可能并不重要),它通过以太网电缆连接到运行 Windows 10 的计算机。我已通过登录我设置的 IP 地址并为 SSH 配置端口 22 来启用设备上的 SSH 通信。我需要为这个项目使用 Mathematica,所以我一直在使用它。
起初我以为只需告诉 Mathematica 连接到我的设备的 IP 地址并输入我的计算机登录凭据即可,因为这通常是您通过 SSH 进入服务器的方式。 Mathematica 一直返回错误,提示我的凭据错误,但事实并非如此。
于是我尝试使用密钥生成器,它应该是万无一失的。即使我生成私钥并告诉 Mathematica 使用该文件连接到 SSH,它仍然会要求我提供计算机登录凭据,而这不应该!因为 SSH 密钥应该足够了。然后我输入我的凭据,它仍然不让我进入。
我并不指望这里会有很多 Mathematica 用户,但下面是我的代码。这应该足以建立连接。(请忽略我的 SSH 密钥存储在不同用户的文件夹下的事实 - 我的计算机在交给我之前没有被正确擦除。我还伪装了我的 IP 地址。)
RemoteConnect[IPAddress["XXX.XXX.XX.XX"], Authentication -> <|"Username" -> "Darren", "SSHKey" -> File["C:\\Users\\chigozie\\.ssh\\id_rsa"]|>]
我应该补充一点,当我使用 putty 做同样的事情时,我的凭证有效……但是当我使用 powershell 时,它们无效。如果这是一个线索的话。
一般来说,即使我使用私钥并输入了正确的凭据,我仍被 SSH 网络拒绝的原因可能是什么?我应该怎么做才能解决这些问题?
答案1
听起来像是权限问题。PDU 运行在什么操作系统上?我做了一些研究,但似乎无法弄清楚它使用哪种类型的控制台。它使用 OpenSSH 吗?
如果它是基于 linux 或 bsd 的,并且你可以获得 shell 访问权限,也许可以尝试
vim /etc/ssh/sshd_config
并添加行
AllowUsers username
其中 username 是您的用户名。基本上,您要确保您的用户可以通过 ssh 登录。
这与你尝试通过 ssh 在 Linux 服务器上以 root 身份登录时所期望的行为相同,其中
PermitRootLogin no
选项已设置。
Blockquote 我应该补充一点,当我使用 putty 做同样的事情时,我的凭证有效……但当我使用 powershell 时,它们无效。如果这是个线索的话。
刚刚看到这个。那么我的回答对你没用。可能是你的密钥文件存在权限问题。