Har*_*hah 12 linux bash scripting scp
当我只运行这些命令时,我遇到了一个问题.
远程服务器想要传递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"
Run Code Online (Sandbox Code Playgroud)
实际上我在询问时必须在我的脚本中传递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)?
Run Code Online (Sandbox Code Playgroud)
您确定要继续连接(是/否)吗?
我怎么能摆脱这个问题?
同
scp -o StrictHostKeyChecking=no
Run Code Online (Sandbox Code Playgroud)
它还在问.
eco*_*omy 17
scp -o StrictHostKeyChecking=no root@IP:/root/K
Run Code Online (Sandbox Code Playgroud)
显然,这不是一个非常安全的解决方案.但是,如果您不关心中间人,那么可以用于一次性拍摄.
小智 7
对我来说,这有效:
yes | scp -r /opt/MyFiles root@<MyNewServerIP>:/opt/MyFiles
Run Code Online (Sandbox Code Playgroud)
问候.=)
可能最好的方法是在 scp 命令之前使用以下命令:
ssh-keyscan -H ${SSH_HOST} >> ~/.ssh/known_hosts
这会将 SSH_HOST 添加到您的已知主机并且scp不会抱怨。将 ${SSH_HOST} 替换为您尝试连接的 IP 地址。
| 归档时间: |
|
| 查看次数: |
16510 次 |
| 最近记录: |