20

Что за команда для входа с FTP все в одну строку?

ftp username:password@my.domain.com

говорит:

Пароль требуется для имени пользователя: пароль

5 ответов5

7
ftp ftp://username:password@my.domain.com

Вы могли бы довольно легко использовать ftp --help хотя.

7
ftp -nv yourftpserver.com

тогда user your_username или 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
2

Лучший вариант - использовать .netrc вместе с чем-то вроде gpg в целях безопасности.

Я написал сценарий общего назначения для этого, который я могу загрузить позже, но он сводится к:

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 и сценария, который я запускаю, но это выше и вне оригинального вопроса ОП.

0

Используйте netrc. Это лучше, чем вводить пароль в командной строке.

0

Ты можешь попробовать

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

который вы затем можете вызвать с помощью my_ftp $'ls subfolder\nanothercommand'

Это решение не интерактивное, но лучшее, что я мог придумать

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .