我使用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远程命令,阅读提示符,找到这个问题“你确定要继续连接(是/否)吗?”,然后输入是?
谢谢
1条答案
按热度按时间balp4ylt1#
假设这是dropbear的ssh客户端。
从
man dbclient
开始总是接受未知的主机键。如果主机键不匹配,连接将正常中止。
这应该是等价于
-o StrictHostKeyChecking=no
的dropbear。