2012-03-03 16:26:38 +0000 2012-03-03 16:26:38 +0000
23
23

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

一行で全てFTPでログインするコマンドは?

ftp username:password@my.domain.com

says:

Password required for username:password

回答 (5)

9
9
9
2016-05-28 21:35:36 +0000
ftp -nv yourftpserver.com

then user your_usernameor user anonymous


ftp ftp://username:password@my.domain.comがうまくいかなかったので、この回答を投稿しました。

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
6
6
6
2012-03-03 16:38:19 +0000
ftp ftp://username:password@my.domain.com

ftp --helpでも良かったのではないでしょうか。

4
4
4
2016-08-05 08:38:29 +0000

最良の選択肢は、セキュリティのために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
machine google.com
login <username>
password <secretpassword>

0x1&

私は実際にローカルハッシュとこれらのファイルのオリジナルコピーを、.netrcファイルを使用しているコンピュータとは別のコンピュータに保管し、.netrcと実行しているスクリプトのハッシュを検証していますが、これはOPの元々の質問を超えています。

1
1
1
2012-12-11 06:51:02 +0000
1
1
1
2019-02-18 16:18:22 +0000
my_ftp() {
  ftp -i -n <<EOF
    open $HOST
    user "$USER" "$PASS"
    $@
EOF
}

を試してみて、my_ftp $'ls subfolder\nanothercommand'

で呼び出すことができます。この解決策は対話的ではありませんが、私が把握できた最善の方法は

です。

関連する質問

6
10
7
5
6