<分区>
我正在尝试编写一个脚本来通过 SFTP 备份文件。问题是,它需要密码,我看不到手动为 SFTP 指定密码的方法。我听说过使用公钥不需要密码,但这需要能够通过 ssh 进入远程服务器并修改一些配置文件,而我做不到。
目前我的解决方案是使用cURL ,但这是不安全的(使用普通的 FTP)。我还查看了 .netrc
文件,但这似乎是针对 FTP 而不是 SFTP。如何为 sftp 手动指定密码?
<分区>
我正在尝试编写一个脚本来通过 SFTP 备份文件。问题是,它需要密码,我看不到手动为 SFTP 指定密码的方法。我听说过使用公钥不需要密码,但这需要能够通过 ssh 进入远程服务器并修改一些配置文件,而我做不到。
目前我的解决方案是使用cURL ,但这是不安全的(使用普通的 FTP)。我还查看了 .netrc
文件,但这似乎是针对 FTP 而不是 SFTP。如何为 sftp 手动指定密码?
最佳答案
Lftp 允许为 ftp 和 sftp 指定密码,并且根本不需要公钥。您的 sh 同步脚本可能如下所示:
#!/bin/sh
# Define folders
THEFOLDER='/mnt/my/folder'
# List files
THEFILES=`ls -p $THEFOLDER | grep -v "/"`
for file in $THEFILES
do
echo "Processing $file"
lftp -u login,password -e "put $THEFOLDER/$file;quit" theftp/sub/folder
done
关于bash - 在 Bash 脚本中指定 sftp 的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5268865/