【发布时间】:2020-08-02 23:50:18
【问题描述】:
我编写了一个 bash 代码来从我的远程笔记本电脑向服务器计算机发送文件。我使用 'scp' 命令并将其写在 bash 脚本上,以绕过每次运行时输入密码。
expect <<EOF
spawn scp -P 1111 -o StrictHostKeyChecking=no -r /Users/Desktop/sync_mac user@192.111.111.101:/home/folder
expect "password:"
send "11111\r"
expect eof
EOF
但是,问题是当我在终端上运行 bash 脚本时,它似乎运行良好,但突然发送文件失败,没有任何警告迹象。(特别是对于发送大量文件或大尺寸文件的情况文件的大小,小数小尺寸的情况下还好)
感谢您的帮助
【问题讨论】:
-
你能运行
scp -vv看看日志里有没有东西吗? -
我关注了你的评论,但是日志记录太长,这里就不写了。
-
>>> debug2: channel 0: rcvd ext data 36 Sink: C0644 0 result_analysis.txt debug2: channel 0: 将36写入efd 6 result_analysis.txt 100% 0 0.0KB/s 00:00 发送文件模式:C0644 0 result_analysis2.txt
-
你说 scp 没有打印任何错误。你怎么知道它失败了?
-
如果您使用 ssh 密钥,则根本不需要期望。
ssh-keygen和ssh-copy-id
标签: remote-access expect file-transfer scp