如何使用ssh从shell脚本“您确定要继续连接(是/否)吗?”接受“是”,而不使用StrictHostKeyChecking=no

bjg7j2ky  于 2023-01-21  发布在  Shell
关注(0)|答案(1)|浏览(157)

我使用ssh命令远程执行shell脚本,并使用-oStrictHostKeyChecking=no选项绕过身份验证:

ssh -o StrictHostKeyChecking=no root@$IP '/test-script'

但是,我使用的sh shell不支持StrictHostKeyChecking=no选项:

root:~ Jeff$ ssh StrictHostKeyChecking=no root@$IP '/test-script'

Could not create directory '/home/root/.ssh'.
The authenticity of host '192.168.186.1 (192.168.186.1)' can't be established.
ECDSA key fingerprint is SHA256:KOx9T7VeRy9dJ2ug+tfnlbnG/7Fm0I5Tl/ziTkE4JaE.
Are you sure you want to continue connecting (yes/no)?

ssh的所有-o选项如下:

ssh -o help
ssh: Available options:
ExitOnForwardFailure
UseSyslog

那么,是否有任何方法可以在远程主机上提示“您确定要继续连接(是/否)吗?”问题的“是”?
我尝试了以下选项,但都不起作用

ssh -o StrictHostKeyChecking=no root@$IP '/test-script' | yes
yes | ssh StrictHostKeyChecking=no root@$IP '/test-script'
yes yes | ssh StrictHostKeyChecking=no root@$IP '/test-script'

有没有什么方法可以运行ssh远程命令,阅读提示符,找到这个问题“你确定要继续连接(是/否)吗?”,然后输入是?
谢谢

balp4ylt

balp4ylt1#

假设这是dropbear的ssh客户端。
man dbclient开始

  • -年*

总是接受未知的主机键。如果主机键不匹配,连接将正常中止。
这应该是等价于-o StrictHostKeyChecking=no的dropbear。

相关问题