当我只运行这些命令时,我遇到了一个问题。
远程服务器希望传递yes
以在RSA文件中添加密钥,因为第一次与scp
建立了连接。
命令在下面给出
#!/bin/bash
scp -P58222 root@IP:/root/K /N
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }'
send "yes\r"
expect "$ "
send "exit\r"
实际上我必须在询问
时在我的脚本中传递yes无法建立主机'IP地址(IP地址)'的真实性。
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?
您确定要继续连接(是/否)吗?
我该怎样摆脱这个问题?
带
scp -o StrictHostKeyChecking=no
它还在问。
答案 0 :(得分:12)
scp -o StrictHostKeyChecking=no root@IP:/root/K
显然,这不是一个非常安全的解决方案。但是,如果您不关心中间人,那就可以用于一次性拍摄。
答案 1 :(得分:5)
对我而言,这有效:
yes | scp -r /opt/MyFiles root@<MyNewServerIP>:/opt/MyFiles
的问候。 =)
答案 2 :(得分:0)
可能最好的方法是在scp命令之前使用以下命令:
async function getData() {
myArray = await myFunction();
console.log(myArray);
return myArray;
}
这会将SSH_HOST添加到您的已知主机,并且ssh-keyscan -H ${SSH_HOST} >> ~/.ssh/known_hosts
不会抱怨。