bash - 在 Bash 脚本中指定 sftp 的密码

标签 bash sftp remote-backup .netrc

<分区>

我正在尝试编写一个脚本来通过 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/

相关文章:

bash - 删除函数定义(unalias 等效)

bash - 如何提取文件的某些列并将它们保存在新文件中

regex - 使用 sed 替换 URL 模式失败

c++ - SFTP C++ 库?

java - 如何使用 Java 压缩 SFTP 或 FTP 服务器中的文件?

sql-server - 自 3 天前起在 Azure Blob 存储中创建 Sql 备份时出现信号量超时错误

macos - 从Time Machine胶囊进行异地备份

regex - 根据模式匹配分离数值

java - 如何使用 Java JSch 库暂停 SFTP 上传?

linux - Windows Home Server 之类的 Ubuntu 远程备份软件