Существует ли способ записать сценарий, чтобы сделать вход в систему ftp, таким образом, я не должен вводить вещи много раз?

Можно использовать передачу X11 по SSH; удостоверьтесь опция

X11Forwarding yes

во включают /etc/ssh/sshd_config на удаленном сервере, и любой включает X11, передающий вручную с

ssh -X remoteserver

или добавьте высказывание строки

ForwardX11 yes

к соответствующей записи хоста в ~/.ssh/config

Конечно, это требует работы X дисплеев в местном конце, поэтому при использовании Windows, Вы оказываетесь перед необходимостью устанавливать что-то как XMing, затем настраивать передачу X11 в PuTTY, как продемонстрировано в этих ссылках:

ETA: Читая снова и наблюдение Ваших разъяснений в комментариях, FTP мог бы удовлетворить Вашим потребностям еще лучше, поскольку это позволит Вам 'смонтировать' папки SFTP, как будто они - обычные сетевые диски. Посмотрите здесь, здесь, здесь (для Windows XP/7/vista), или здесь (для Windows 8).

7
12.09.2011, 20:32
3 ответа

Обычно, ftp клиенты командной строки поддерживают конфигурационный файл ~/.netrc где можно настроить учетные данные для удаленных систем, например:

machine legacy.system.example.org
login juser
password keins

Когда Вы ftp legacy.system.example.org затем Вы не должны больше перепечатывать эту информацию.

Если необходимо сделать больше автоматизации, можно написать сценарий ftp через передачу по каналу команд в него, например:

$ cat pushit.sh
# complex logic to set
# EXAMPLE_FILE=
ftp <<EOF
prompt
mput $EXAMPLE_FILE
quit
EOF

Несомненно, если система не поддерживает ssh, это, вероятно, не поддерживает ftps ни один - но можно попробовать его (например, через ftp-ssl), если необходимо защитить соединение.

LFTP

Альтернатива одной из плоскости ftp команды должны использовать lftp, так как это предоставляет несколько функций автоматизированному выполнению входа в систему и команды.

Пример:

$ lftp -e 'source ~/login.lftp'
$ cat login.lftp
open sftp://juser:geheim@backup.example.net
cd /path/to/favorite/dir

Обратите внимание, что этот пример показывает автоматизированную аутентификацию по паролю серверу SFTP, который не поддерживается типичным клиентом OpenSSH sftp.

Опция -e дает lftp команду выполнять команды при запуске и оставаться интерактивным.

Конечно, такой lftp сценарий, Мах также получает другие сценарии и также автоматически разъединяется с сервера.

Напротив, с -c или -f lftp непосредственно выходит после выполнения команд, указанных как аргумент или чтение из указанного файла.

9
27.01.2020, 20:16

Если Вы хотите написать сценарий всего этого:

#!/bin/sh
HOST='ftp.example.com'
USER='yourid'
PASSWD='yourpw'
FILE='file.txt'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT
exit 0

См. также эту веб-страницу.

3
27.01.2020, 20:16

Если Вы хотите автоматически войти в систему, можно использовать a .netrc файл. Я НЕ рекомендовал бы это, поскольку необходимо будет сохранить имя пользователя и пароль в простом тексте, который небезопасен. Если бы можно использовать ssh, то я рекомендовал бы использовать это с аутентификационными ключами для автоматического входа Вас в.

Если Вы не можете использовать безопасный метод, такой как ssh с ключами, можно настроить информацию о ftp следующим это руководство.

2
27.01.2020, 20:16

Теги

Похожие вопросы