【发布时间】:2011-09-02 15:38:45
【问题描述】:
我正在编写我的第一个 shell 脚本并试图弄清楚如何转换这个命令:
sftp -o IdentityFile=/home/test/test/id_dsa test@test.test.com < sftp_put.txt;
进入我连接到 ftp 服务器的等效命令。主要区别在于我将通过用户名和密码登录到该服务器,而不是我的 ssh 凭据。注意我正在尝试上传两个文件。
再次感谢任何帮助!
【问题讨论】:
我正在编写我的第一个 shell 脚本并试图弄清楚如何转换这个命令:
sftp -o IdentityFile=/home/test/test/id_dsa test@test.test.com < sftp_put.txt;
进入我连接到 ftp 服务器的等效命令。主要区别在于我将通过用户名和密码登录到该服务器,而不是我的 ssh 凭据。注意我正在尝试上传两个文件。
再次感谢任何帮助!
【问题讨论】:
您可以为此使用.netrc:
$ cat > .netrc
machine your.machine.ip.address
login your.login.name
^D
$ ftp your.machine.ip.address < ftp_cmds.txt
这会提示您输入密码。如果您没问题,您可以将密码(明文)保存在 .netrc 中以跳过此提示。详情请见man netrc。
【讨论】:
ftp -v -n <<EOF > ${LOG_FTP} 2>&1
open ${IP_ADDRESS_SERVER}
user ${FTPUSER} ${FTPPASS}
cd ${REMOTE_DIR}
put sftp_put.txt
EOF
【讨论】: