我在ssh的config
文件中进行了以下设置:
Host my_username.remote
User my_username
HostName server.xxx.com
IdentityFile ~/.ssh/general_id_rsa
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
Host different_username.remote
User different_username
HostName server.remote.net
IdentityFile ~/.ssh/general_id_rsa
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
以上配置在终端上没有问题,即我可以ssh my_username.remote
或ssh.different_username.remote
,它将使用正确的凭据正确登录远程服务器。
但是,当我在Emacs中执行此操作时,我可以使用我的凭据登录,即/ssh:my_username.remote:/
,但使用/ssh:different_username.remote:/
。
我应该注意,在我的本地机器上,我也是my_username
。所以问题似乎来自于使用不同的用户名。
有关导致此问题的任何想法?
答案 0 :(得分:2)
我非常确定Tramp将在您未指定参数时提供默认值,在这种情况下,/ssh:different_username.remote
将转换为/ssh:my_username@different_username.remote
。
我认为你可以使用/ssh:different_username@different_username.remote
,即使它无法接收自动配置。