我可以使用 ssh/sftp 登录到我的遥控器(没有 -b 选项)
sftp root@192.168.7.2
但是当我尝试
sftp -b commands.tmp root@192.168.7.2
我明白了
Permission denied (publickey,password).
Couldn't read packet: Connection reset by peer
Commands.tmp 看起来像这样
ls
exit
我在这里想念什么吗?
我可以使用 ssh/sftp 登录到我的遥控器(没有 -b 选项)
sftp root@192.168.7.2
但是当我尝试
sftp -b commands.tmp root@192.168.7.2
我明白了
Permission denied (publickey,password).
Couldn't read packet: Connection reset by peer
Commands.tmp 看起来像这样
ls
exit
我在这里想念什么吗?
我使用 shhpass 写密码没有交互,我需要添加-oBatchMode=no
sshpass -p PASSWORD sftp -v -oBatchMode=no -b FILE USER@SERVER
如果您使用密码或加密私钥进行身份验证,则不能使用-bwith plain sftp。sftp男人说:
由于它缺乏用户交互,因此应与非交互身份验证结合使用
例如,您可以将无密码的私钥与-b.
如果要使用密码身份验证,则需要使用sshpass. 请参阅:
如何使用 Bash 脚本中的密码运行 sftp 命令?
这对我有用
sshpass -p 'PASSWORDSTRING' sftp -v -oBatchMode=no -b deploy/production username@ipaddress
生产文件
put -rp /from-directory /to-directory