如何以非交互方式进行远程SSH

Jil*_*448 5 ssh non-interactive

我正在尝试通过以下命令从本地主机连接到远程主机。但是,在远程主机中有一个设置,我们登录后很快就会提示输入徽章ID,密码和登录原因,因为它被编码一样,在profile文件上remote-host我该如何克服这些步骤,直接登录非交互,而不会干扰代码profile

jsmith@local-host$ ssh -t -t generic_userID@remote-host
Enter your badgeID, < exit > to abort:
Enter your password for <badgeID> :
Enter a one line justification for your interactive login to generic_userID
Run Code Online (Sandbox Code Playgroud)

Aru*_*ius 6

小修正:需要克服远程服务器期望的方法,但如果本地脚本连接到一堆远程服务器,这些配置可能会被破坏,只需使用 SSH 选项:

ssh -f -q -o BatchMode=yes -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null USER@TARGETSYSTEM

如果没有 ssh_key 设置,这将省略询问密码,静默退出并继续使用脚本/其他主机。

使用 -f 将 ssh 置于后台,这在从 sh(批处理)文件调用 ssh 命令以删除本地控制台重定向到远程输入(隐含 -n)时是必需的。


Mar*_*nto 2

考虑围绕expect设置一个包装脚本。这应该完全符合您的要求。

以下是一些您可以借鉴的示例。