我正在设置一个服务器应用程序,需要通过 SSH2 建立安全连接,例如客户端必须打开与服务器的 SSH2 连接才能到达特定应用程序:
% ssh -s -p5000 my.server.com app
我想了解一下,这个命令完成后到底发生了什么?客户端/服务器如何知道它们必须通过 SSH 安全通道运行?这称为 ssh 隧道,还是有不同的名称?
谢谢。
答案1
该-s
标志表明ssh
不要tty
在远程计算机上分配 a 来使用指定为远程命令的子系统。您正在做的是建立一个ssh
会话,使用app
子系统,类似于远程子系统的工作方式sftp
。
答案2
您的问题的所有内容在手册页中都得到了很好的描述ssh(1)
。
-s
可用于请求调用远程系统上的子系统。子系统是 SSH2 协议的一项功能,它有助于使用 SSH 作为其他应用程序的安全传输(例如 sftp(1))。子系统被指定为远程命令。
[...]
-p port
连接到远程主机的端口。这可以在配置文件中针对每个主机进行指定。