我想在出站 ssh 后执行脚本。
我有两台服务器(A)和(B),以及一台计算机(C)。
(C) 可以通过 SSH 连接到 (A),但无法连接到 (B)。
(A) 可以通过 SSH 连接到 (B)。
但是 (C) 可以通过多跳 ssh 访问 (B):
C -> A -> B
因此,我想使用此变量 ${SSH_CLIENT%% *} 记录 (A) 中的出站 ssh,以了解 (C) 是否执行多跳连接到 (B)。
答案1
当然如此。因为当您使用 ssh 登录时,您只需运行 sshd 服务的新进程,这意味着您可以使用 ssh 服务在 A 之间打开 C 和 B 之间的无限隧道,也可以使用 crontab 来创建自动执行的命令,并且在您登录后断开或关闭与 B 的连接。
答案2
最简单的选择是简单地重命名/usr/bin/ssh二进制打开A到ssh.bin并粘贴一个包装外壳脚本,称为SSH,在目录中,在调用之前添加您想要的任何日志记录ssh.bin例如。Shell 脚本:将消息写入系统日志/日志文件