1

我有以下两台机器:

机器 A. 将充当 SSH 服务器的 OSX 机器机器 B. 使用autossh
连接到上述设备的 SSH 客户端

autossh 允许建立持久的、自我修复的连接,并在子 ssh 进程异常退出时重新启动它(手册页包含有关“异常”含义的详细信息)。具体来说,我有兴趣让场景 #4 起作用:

定期(默认每 10 分钟),autossh 尝试在监视器转发端口上传递流量。如果失败,autossh 将终止子 ssh 进程(如果它仍在运行)并启动一个新进程

问题

  1. 推荐的 autossh 监控方法是什么?是监视特定端口还是使用 echo 服务?还是依赖 OpenSSH 的 ServerAliveDelay 以便 ssh 连接及时退出并完全禁用 autossh 监控?

  2. 如果是后者,如何在osx上启动echo服务?从inetd的 wiki 页面:

从 Mac OS X v10.4 版本开始,Apple 已将 inetd 的功能合并到 launchd 中。

那么,如何使用launchd在osx Mountain Lion上启动echo服务呢?

4

1 回答 1

0

我建议您坚持使用ServerAliveDelayand ServerAliveInterval,两者都可以在本地ssh_config文件中指定。这将消除对监视端口或使用 echo 服务的需要,并允许 ssh 客户端处理优雅的退出,同时启用 autossh 重新启动丢失的连接。

于 2014-04-30T14:46:48.077 回答