ssh -N对应.ssh/config配置项是什么?如何配置devdb别名不启动shell?
SSH -N 对应的 .ssh/config 配置选项及 devdb 别名设置
嘿,刚好清楚这个点!ssh -N 命令的核心作用是建立SSH连接但不执行任何远程命令(也就是不启动shell),对应的 .ssh/config 配置选项是 RemoteCommand none。
如果你想给 devdb 设置别名,让它的效果等同于 ssh -N devdb,只需要在你的 .ssh/config 文件里添加下面这个配置块就行:
Host devdb HostName 你的远程服务器地址(IP或域名) User 你的远程用户名 # 这一行就是对应 ssh -N 的关键配置,禁止执行远程命令 RemoteCommand none # 可选:明确关闭终端请求,进一步匹配 -N 的无shell行为,减少不必要的资源占用 RequestTTY no # 可以根据需要添加其他配置,比如端口、密钥文件等 Port 22 IdentityFile ~/.ssh/your-private-key-file
简单解释下:
RemoteCommand none:直接告诉SSH客户端,连接到远程后不要运行任何命令,这完全对应ssh -N的核心功能。RequestTTY no:因为-N模式下本来就不需要终端,加上这一行可以明确禁止请求终端,让行为更贴合-N的场景,避免一些不必要的终端相关操作。
配置好之后,你只需要运行 ssh devdb,就会得到和 ssh -N devdb 完全一样的效果——建立连接但不进入远程shell,非常适合用来维持端口转发之类的后台连接。
内容的提问来源于stack exchange,提问作者mikeb
相关产品推荐
相关产品推荐

