gpt4 book ai didi

ios - 当提示输入远程主机的 SCP 密码时,如何将回车添加到 bash?

转载 作者:行者123 更新时间:2023-11-28 23:21:47 27 4
gpt4 key购买 nike

尝试自动将文件从 MAC 复制到运行 Solarwinds SCP 服务器的 PC。服务器配置为允许匿名登录。但是,默认情况下它会提示输入密码。按 enter 手动复制文件成功。

尝试一个简单的命令:

scp myfile.txt 192.168.0.188:/myfile.txt
password:
{carriage return entered}
Output: myfile.txt 100% 432 43.8KB/s 00:00

在 MAC 上,我尝试使用生成的公钥将其复制到 PC 上的相应文件夹,但这不起作用。我也尝试过不同的 Bash 脚本,但找不到在密码提示符下发送回车的正确解决方案。

最佳答案

尝试在您的 shell 脚本中使用 expect:

-D是为了调试,改成1可以得到更多的信息

expect -D 0 -c "
spawn scp User@destingation
set ret 1
set timeout 20
expect {
timeout {
send_user \"Timeout reached!\"
exit \$ret
}
eof {
puts \"End of test connection reached!\"
if { \$ret == 0 } {
puts \"Connection test Successful!\"
puts \"Exiting $destination ...\"
} else {
puts \"Connection Failure!\"
}
exit \$ret
}
\"assword:\" {
puts \"\r\nSending password\"
send \"\r\"
exp_continue
}
\"sftp>\" {
send \"put \\\"file name\\\"\r\"
set ret 0
exp_continue
}
}"

# get the exit value from expect statement above
exit_val=$?

关于ios - 当提示输入远程主机的 SCP 密码时,如何将回车添加到 bash?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59547968/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com