【问题标题】:SSH ProxyCommand change user after connectSSH ProxyCommand 连接后更改用户
【发布时间】:2017-06-14 18:02:44
【问题描述】:

由于防火墙限制,我需要能够通过另一台主机连接到一台主机。我目前能够使用 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

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

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

【问题讨论】:

  • 只需以user_two 而不是user_one 连接(设置密钥后)。
  • 我忘了说我不能直接以 user_two 的身份连接。我需要以 user_one 的身份连接,然后以 user_two 的身份连接 sudo。由于配置和安全原因。
  • 如何比直接以该用户身份连接更安全?不,没有办法让它与客户端的sftp 一起工作。
  • 您如何安全地让 50 位不同的开发人员访问 250 多个客户端服务器上的 1 个 Web 服务器用户?
  • 你知道怎么做吗?我也遇到了同样的问题。

标签: ssh terminal


【解决方案1】:

您可以在登录后立即使用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

注意,如果远程服务器在运行requires a TTY时可能还需要添加RequestTTY yessudo

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-11
    • 2014-12-26
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多