在SSH中使用-T参数的说明
参数说明
测试ssh,需要使用类似以下内容的代码:ssh -T user@domain.com
根据man ssh:
1 | -T Disable pseudo-terminal allocation. |
使用说明
要在ssh shell中具有交互式提示,您还需要在服务器端分配PTY。呼叫时会自动完成ssh host。
当您在服务器上分配此PTY时,本地终端和远程终端正在交换一些其他消息(终端控制字符),这些消息为远程外壳程序提供有关本地终端大小的信息,远程终端可以更新窗口的标题和以此类推。当您要传输文件或仅按原样传递输出时,这确实是您不想要的。它将对此进行修改,您通常会得到其他东西。同样,如果您使用scp或仅将非交互式脚本用作,则会自动完成此操作ssh host my_script。
到目前为止很好。您不需要开关。但是事情可能并不总是那么简单。
您可能想调用一些交互式shell作为命令,例如ssh host /bin/zsh。这会起作用,但不会是交互式的。在这种情况下,您需要使用该-t开关使其正常工作:ssh -t host /bin/zsh。
相同的事情可以反过来进行。您可能已经设置了服务器,无论您要求什么命令,它都将为您提供一些输出。在那种情况下,您确实不希望将其与任何终端控制字符弄混,然后您可能想使用它ssh -T host来避免发生这种情况。
您也可以将-Ts作为服务器上资源安全的方式和某些“第二道防线”。您可以在服务器配置中禁用TTY分配,但是如果…
-T交换机最常见的用例是
1 | ssh -T git@github.com |
验证您已经正确设置了ssh密钥以对github进行身份验证。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 竹山一叶!
评论