我不确定是否有这种types的活动的具体名称,但无论如何:
当用户ssh进入machine1时,是否有强迫他们自动ssh到machine2?
例如,如果用户Bob ssh进入server1,你可以在server1上设置一些东西,这样当Bob成功login时,他会自动ssh到server2,以便他只能访问server2,并且不能在server1上做任何事情? 而且,当他退出时,它将使服务器2与服务器1断开连接。
那有意义吗? 那可能吗?
这里真正的需求是Bob需要ssh访问machine2,但不能直接访问它,因为它在防火墙后面呢? 如果是这样,最干净的解决scheme可能是将server1上的一个端口端口转发到server2上的ssh端口(22),您可以使用iptables做到这一点,请参阅http://www.debian-administration.org/articles/73 。 那么用户可以
ssh -p <port number> server1
进入server2。
如果你真的想要强制用户login到server1直接访问server2,可以将server1上相关用户的shell设置为运行“ssh server2”的脚本,但是用户最终必须input两次密码如果你正在使用paswords) – 一次为server1,一次为server2 – 你还需要小心locking服务器1上的SSH服务器,以防止用户通过它端口转发等(您可以使用SSH无论你的shell设置为什么)。
把这个添加到你的.ssh / authorized_keys文件的bob的主目录中:
command="ssh host2" ...bob's key here...
这被称为“强制命令”。 谷歌可以给你更多的信息。
要完成你想要做的事情,你应该编辑用户的.bash_profile在服务器2中执行ssh,然后下一行发出一个退出命令。 一旦他的ssh会话结束,configuration文件将启动“退出”命令并将其注销。