ftp -nv yourftpserver.com
user your_username
またはuser anonymous
ftp ftp://username:[email protected]
が私にはうまくいかなかったので、私はこの答えを投稿しました。
Usage: { ftp | pftp } [-46pinegvtd] [hostname]
-4: use IPv4 addresses only
-6: use IPv6, nothing else
-p: enable passive mode (default for pftp)
-i: turn off prompting during mget
-n: inhibit auto-login
-e: disable readline support, if present
-g: disable filename globbing
-v: verbose mode
-t: enable packet tracing [nonfunctional]
-d: enable debugging
ftp ftp://username:[email protected]
あなたはftp --help
を非常に簡単に使ったかもしれません。
セキュリティ上の目的から、gpgのようなものと一緒に 。netrc を使用するのが最善の方法です。
私はこのための汎用スクリプトを書きました。これは後でアップロードすることができますが、次のようにまとめられています。
gpg -c .netrc
あるいは、オプションでコマンドラインのパスフレーズと出力先を指定します。
gpg --passphrase <secretphrase> -o .netrc.gpg -c .netrc
ここには表示されていませんが、これをさらに安全にするために、gpgと共に非対称キー(それらを設定している場合)を追加で使用することができます。
ログインする準備ができたら
gpg .netrc.gpg
# or
gpg --passphrase <secretphrase> -o .netrc .netrc.gpg
ftp yourservername
rm .netrc
例.netrc:
machine google.com
login <username>
password <secretpassword>
実際には、ローカルハッシュとこれらのファイルのオリジナルコピーを、.netrcファイルを使用しているコンピュータとは別のコンピュータに保存し、.netrcのハッシュと実行したスクリプトを確認します。 OPの最初の質問を超えて。
netrc を使用してください。コマンドラインでパスワードを渡すよりも優れています。
あなたが試すことができます
my_ftp() {
ftp -i -n <<EOF
open $Host
user "$USER" "$PASS"
$@
EOF
}
これはmy_ftp $'ls subfolder\nanothercommand'
で呼び出すことができます
この解決策は対話的ではありませんが、私が理解できる最高のものです