我有以下~/.ssh/config
文件:
Host myserver1
Hostname myserver1.blop.com
User blup
Host myserver2
Hostname myserver2.blop.com
User blup
Host bitbucket.org
RemoteCommand # Want to not take care of global RemoteCommand
RequestTTY no
Host *
User root
RemoteCommand PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' $SHELL;
RequestTTY yes
我希望所有服务器上的默认设置RemoteCommand
都是在登录后在远程 shell 上更改 PROMPT_COMMAND。(这是可行的)该RemoteCommand
选项使与 bitbucket(git)的连接失败,而我没有找到RemoteCommand
针对特定主机禁用的方法。
尝试过:没有,空字符串""
,$SHELL;
有什么想法吗?有默认RemoteCommand
值可以恢复吗?
答案1
- 用作
none
值RemoteCommand
。
Host bitbucket.org
RemoteCommand none
RequestTTY no
- 一个替代方法只是从默认主机配置中排除 bitbucket.org:
Host * !bitbucket.org
User root
RemoteCommand PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' $SHELL;
RequestTTY yes
- 更好的解决方案,针对我的特定问题
RemoteCommand
,添加Match
仅应用ssh
命令的设置:
只需将其添加到文件顶部即可
Match exec "test $_ = /usr/bin/ssh"
RemoteCommand PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}:${PWD}\007"' $SHELL;
RequestTTY yes