一步通过 ssh 进入网守后面的服务器(涉及 sudo)

一步通过 ssh 进入网守后面的服务器(涉及 sudo)

可能重复:
非交互式 ssh sudo… 提示以纯文本形式输入密码

这是我当前的工作流程(我的中已经有一些设置.ssh/config):

scribu@localhost$ ssh core
scribu@core$ sudo ssh app-01
[sudo] password for scribu:
root@app-01$

有什么方法可以将其缩短为类似于此的单个命令?

scribu@localhost$ ssh app-01
[sudo] password for scribu:
root@app-01$

我尝试了 ProxyCommand 方法,建议这里

Host app-01
    ProxyCommand ssh core "sudo /bin/nc -w1 %h"

但它不起作用,因为它不允许我输入 sudo 的密码。

答案1

事实证明这很简单:

ssh core -t "sudo ssh app-01"

更多信息请点击这里:https://unix.stackexchange.com/a/48530/4584

如果您想为 sudo 提示提供更具描述性的文本,您可以执行以下操作:

ssh core -t "sudo -p '[sudo] password for %u@%h: ' ssh db-slave-01"

相关内容