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

говорит:

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

Ответы (5)

9
9
9
2016-05-28 21:35:36 +0000
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
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

Лучшим вариантом является использование .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:

Я на самом деле храню локальный хэш и оригинальную копию этих файлов на другом компьютере, а не на том, на котором я использую .netrc файлы, и проверяю хэш .netrc и сценарий, который я выполняю, но это выходит за рамки изначального вопроса операционной.

1
1
1
2012-12-11 06:51:02 +0000

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

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
5