我有一个很简单的问题,我想在这里解决。我不断在域上运行 (host) 命令以获取它们的 IP,然后再次在这些 IP 上运行 (host) 命令以获取它们的 PTR,然后我通过 SSH 连接到 PTR 中表示的服务器:
[root@box ~]$ host DomainIWant.com
DomainIWant.com has address 123.123.123.123
[root@box ~]$ host 123.123.123.123
123.123.123.123.in-addr.arpa domain name pointer vps2010.DomainIWantHosts.com
[root@box ~]$ ssh vps2010.DomainIWantHosts.com
Run Code Online (Sandbox Code Playgroud)
够简单了吧?一遍又一遍地做这件事很乏味,所以对于所有 Linux 我想通过自动化来加速它:
[root@box ~]$ host DomainIWant.com | awk '{print $4}' | xargs host | awk '{print $5}' | xargs ssh -tt
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,当我通过 xargs 调用 ssh 时,我确实通过 SSH 连接到远程服务器,但出现错误 [tcgetattr: Invalid argument]。我坐在远程服务器的外壳上,但是当我尝试运行任何命令时,它只是挂起,最终我必须按 Ctrl-C 才能摆脱它。
如果我不添加 (ssh -tt),那么我会收到一个 [Pseudo-terminal will not be allocation because stdin is not …