我可以從Unix shell腳本運行sftp腳本。從Unix腳本運行sftp命令時禁用密碼提示
但它提示連接服務器的密碼。
如何在unix shell腳本的sftp命令中配置密碼,使得該文件可以在沒有人爲干預的情況下進行傳輸。
我的腳本如下。
/usr/bin/sftp ${USER}@${HOST} <<EOF
cd ${PATH}
mput *.csv
quit
EOF
我可以從Unix shell腳本運行sftp腳本。從Unix腳本運行sftp命令時禁用密碼提示
但它提示連接服務器的密碼。
如何在unix shell腳本的sftp命令中配置密碼,使得該文件可以在沒有人爲干預的情況下進行傳輸。
我的腳本如下。
/usr/bin/sftp ${USER}@${HOST} <<EOF
cd ${PATH}
mput *.csv
quit
EOF
您必須在unix中生成id_rsa。
腳本生成id_rsa:
ssh-keygen -t rsa
或訪問此鏈接:http://www.electrictoolbox.com/article/linux-unix-bsd/create-rsa-dsa-keys-ssh/
而不是使用SFTP命令的,你應該使用的lftp命令。使用此命令,您可以使用-u選項給您的密碼提供選項,並使用選項-e運行遠程命令,只需一個命令行,這非常容易在腳本中執行。
[如何爲SCP或SFTP自動輸入密碼以使其自動化](http://unix.stackexchange.com/questions/26480/how-to-auto-type-password-for-scp-or-sftp-自動化),希望這會對你有所幫助 – poiu2000 2013-03-28 08:35:21
謝謝..但上面的鏈接並沒有真正服務於我的目的。 「產卵」和「期望」都沒有奏效。沒有其他方式通過腳本提供密碼嗎? ftp爲非交互式認證提供了選項。 sftp也必須有出路。請建議。 – Suvasis 2013-03-28 19:45:31