如何在单独的端口上临时运行辅助 SSH 服务器

如何在单独的端口上临时运行辅助 SSH 服务器

如何在标准 22 以外的其他端口上运行 SSH 守护程序?

我在云虚拟机上搞砸了 SSH 配置,现在 SSH 总是提示我输入密码。我之前尝试修复这个问题,但结果把我锁住了,迫使我卸载磁盘,将其安装在一个正常工作的虚拟机内,然后将文件修复到已知的工作状态。然而,它仍然迫使我输入密码。

我想更新/etc/ssh/sshd_config并重新启动主 ssh 守护程序,以便对其进行测试,同时仍让另一个使用旧配置的守护程序运行,以便在第一个守护程序将我锁定的情况下,我可以使用该守护程序恢复配置。我该如何做,特别是在 Ubuntu 上?

答案1

您没有提到 Ubuntu 版本,所以我不确定您正在运行哪个 init 系统。

如果是 systemd,您可能有一个文件/etc/systemd/system/sshd.service。 您可以将其复制为/etc/systemd/system/sshd_alt.service。 然后调整ExecStart行并添加-p 22000或某些内容。 之后执行systemctl enable sshd_altsystemctl start sshd_alt。 您也可以指向完全不同的配置文件。

如果这只是一次性操作,您也可以手动启动 screen 中的副本或类似操作。只需启动 screen 并执行类似操作即可/usr/sbin/sshd -D -p 22200。您将启动一个备用 sshd 守护程序,直到您可以重新连接到该 screen 并终止该进程。

或者像@EEAA 所说的那样。只需不要断开连接,使用第二个会话来测试是否可以重新连接。

答案2

您可以使用以下命令在备用端口上启动 sshd:

sshd -p 12345

将 12345 替换为您喜欢的端口号。如果sshd您的 中没有PATH,您可能需要在命令中使用完整路径名,例如/usr/sbin/sshd

答案3

只需让一个 SSH 会话保持活动状态,然后使用另一个会话进行配置更改。如果配置更改导致某些问题,您的原始会话将保持连接状态,并可用于恢复更改。

相关内容