SSH ProxyCommand在连接后更改用户

SSH ProxyCommand在连接后更改用户,ssh,terminal,Ssh,Terminal,由于防火墙的限制,我需要能够通过另一台主机连接到一台主机。我目前能够使用ProxyCommand选项成功连接。但是现在我需要在连接到目标主机后更改用户,从用户1更改为用户2 我的当前配置文件: Host destination Hostname destination.example.com User user_one ProxyCommand ssh -W %h:%p fw.example.com IdentityFile /Users/local_user/.ssh/id_rsa 我拥有作

由于防火墙的限制,我需要能够通过另一台主机连接到一台主机。我目前能够使用ProxyCommand选项成功连接。但是现在我需要在连接到目标主机后更改用户,从用户1更改为用户2

我的当前配置文件:

Host destination
Hostname destination.example.com
User user_one
ProxyCommand ssh -W %h:%p fw.example.com
IdentityFile /Users/local_user/.ssh/id_rsa
我拥有作为用户1连接所需的所有密钥,但我需要
sudo su user\u two
才能作为该用户登录。我需要充当这个用户,以便通过sftp编写文件。(这是一个Web服务器)


那么我怎样才能自动切换到user_2呢

您可以在登录后立即使用
RemoteCommand
切换用户。您的
.ssh/config
将是:

Host destination
    Hostname destination.example.com
    User user_one
    ProxyCommand ssh -W %h:%p fw.example.com
    IdentityFile /Users/local_user/.ssh/id_rsa
    RemoteCommand sudo su - user_two
    RequestTTY yes

请注意,如果在运行
sudo

时远程服务器只是以
user\u two
身份连接,而不是以
user\u one
身份连接(设置键后),则可能还需要添加
requestty yes
。我忘了提到我不能直接以user\u two身份连接。我需要作为用户1连接,然后作为用户2连接sudo。由于资源调配和安全原因。如何比作为该用户直接连接更安全?不,无法从客户端使用
sftp
。您将如何安全地让50名不同的开发人员访问250多台客户端服务器上的1名Web服务器用户?您知道如何做到吗?我也有同样的问题。