这个问题以不同的形式被问了几百次,答案总是相似的--我同意它们的一般情况,但我还是想再问一次,因为我的情况有点不同。
我的工作流程包括通过SSH与我所在公司生产的各种设备进行交互,我希望我的SSH客户端:
这些设备总是在一个孤立的本地网络中,没有互联网接入。我不能使用基于密钥的身份验证,因为这些设备没有持久存储(密钥在重新启动后无法存活)。我还想使用相同的PC来访问不同设置中的硬件-IP和密码是相同的,但是主机ID是不同的。
常规的,OpenSSH客户端在这种情况下是痛苦的-尽管我理解这是因为我想自愿选择退出它的安全性。
如果不使用分叉OpenSSH并自行进行这些更改,这是否有可能呢?
发布于 2018-03-22 13:04:35
您可以通过编写一个脚本来实现这一点,该脚本首先从known_hosts中删除相关条目,然后使用expect运行ssh,如登录到ssh服务器的Shell脚本中所述。
发布于 2018-03-22 13:51:54
1)密码:您可以更改此设备的启动映像,并在其中永久写入密钥,因此您不需要永远输入密码。看看是否可能..。不确定你用的是哪种设备。
2)在~/..ssh/config中放置以下代码
Host *
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null这会陷害你的。
https://unix.stackexchange.com/questions/432824
复制相似问题