SSH ProxyCommand 连接后更改用户

use*_*930 5 ssh terminal

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

我当前的配置文件:

Host destination
Hostname destination.example.com
User user_one
ProxyCommand ssh -W %h:%p fw.example.com
IdentityFile /Users/local_user/.ssh/id_rsa
Run Code Online (Sandbox Code Playgroud)

我拥有以 user_one 身份连接所需的所有密钥,但我需要sudo su user_two能够以该用户身份登录。我需要充当该用户才能通过 sftp 写入文件。(这是一个网络服务器)。

那么如何自动切换到 user_two 呢?

Ruu*_*Pul 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
Run Code Online (Sandbox Code Playgroud)

RequestTTY yes请注意,如果远程服务器在运行时需要 TTY ,您可能还需要添加sudo