假设我们有三台机器me, proxy, server
我想要与服务器建立 ssh 连接,因此通常我会这样做
me$ ssh proxy
proxy$ ssh server
server$ # and here we are
完全客户端的 ssh 代理解决方案将是:
$ cat .ssh/config
Host proxy
HostName proxy.ip
Host server
HostName server.ip
ProxyCommand ssh proxy -W %h:%p
但是如果我想在我的服务器上强制执行这个代理命令,我会像这样编辑我的authorized_keys文件:
$ cat .ssh/authorized_keys
command="ssh user@proxy" ssh-rsa AAA...444 omg@themiddleofnowhere
好的:这两个解决方案对于 ssh 都有效,但是对于诸如rsync
和scp
等命令,第一个解决方案有效,而第二个解决方案失败。
问题:我如何才能强制在我的服务器上执行 ssh 代理命令并仍然允许rsync
和等命令scp
正常工作?