SSH - 如何在 ~/.ssh/config 文件中包含“-t 命令”

Ama*_*rus 14 linux ssh root

我使用~/.ssh/configfile 以便我可以轻松输入ssh myserver,它会提供正确的用户名、端口、主机名、身份文件等。

但是对于许多服务器,我做的第一件事是输入su -以 root 身份登录。我可以在命令行上做到这一切在一个命令像这样:ssh myserver -t su -。有什么我可以添加到我的~/.ssh/config文件中的东西吗?我希望能够做到ssh myserver-root并且它会做与ssh myserver -t su -?

我知道PermitRootLogin,这台服务器已关闭,我不愿意打开它。我更想看看是否有办法在客户端使用 ssh 来做到这一点。

小智 10

我想我会从另一个方向解决这个问题 - 在远程服务器上的 ~/.ssh/authorized_keys 文件中的公钥条目上使用 'command=' 来运行你的“su -”命令。

然后只需使用/引用您想要以这种方式工作的每个主机/别名(“myserver-root”)的 ~/.ssh/config 文件(IdentityFile 选项)中的私钥。

sshd(8) 中记录了authorized_keys(5) 中可用的选项。


小智 10

使用武力卢克!

使用RequestTTY force~/.ssh/config所希望的主机。

顺便提一句。这也在此处讨论https://unix.stackexchange.com/questions/27713/ssh-config-way-to-spectify-pseudo-tty-allocation-and-command-execution-like-sc/294468#294468