我正在运行一个自动化脚本来自动化登录和使用 plink 在远程目标上运行的其他一些命令。我使用以下方法进行自动登录并保存 RSA 密钥:
user@ubuntu~$ echo -e 'y\n' | plink root@<target ip> -pw <password> "pwd"
该命令通过命令行运行时保存密钥,但使用脚本运行时,保存RSA密钥不一致。考虑传递的用户名和密码是正确的,它提示错误消息为Connection refused
,因为在提示输入中未获取“y”。
很多时候,它会一次又一次地提示接受密钥,因为我的脚本中同时使用了许多连续的 plink 命令。理想情况下,它不应该多次要求用户输入。我检查了 ~/.putty 文件夹中不存在的“sshhostkeys”文件,这是每次运行 plink 时提示用户输入的原因。
有没有人之前遇到过这个问题?对此有任何修复,或对此有任何破解/解决方法吗?
PS:使用expect脚本,或者使用putty手动保存profile,或者手动运行plink命令保存key一次,正在排除(不考虑)。