web-dev-qa-db-ja.com

LinuxのFTPユーザー名とパスワードでログイン

1行ですべてFTPでログインするためのコマンドは何ですか?

ftp username:[email protected]

と言う:

ユーザー名に必要なパスワード:password

21
Daniel Course
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
8
user391339
ftp ftp://username:[email protected]

あなたはftp --helpを非常に簡単に使ったかもしれません。

7
Jack

セキュリティ上の目的から、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の最初の質問を超えて。

3
smaudet

netrc を使用してください。コマンドラインでパスワードを渡すよりも優れています。

0
Nemo

あなたが試すことができます

my_ftp() {
  ftp -i -n <<EOF
    open $Host
    user "$USER" "$PASS"
    $@
EOF
}

これはmy_ftp $'ls subfolder\nanothercommand'で呼び出すことができます

この解決策は対話的ではありませんが、私が理解できる最高のものです

0
Blauhirn