2015-06-08 2 views
0

Я планирую сделать простой скрипт для входа на коммутатор & взять резервную копию конфигурации!Необходимо создать простой скрипт для входа ftp

Я использовал для входа в систему вручную & хочу сделать это в одной команде или через скрипт!

Любой может мне помочь?

[email protected]:/home# ftp xxx.19.254.61 
Connected to xxx.19.254.61. 
220 xx-xx-xx-xxx-SW-2 FTP version 1.0 ready at Sat Feb 14 23:28:25 1970 
Name (xxx.19.254.61:root): admin 
331 Enter PASS command 
Password: 
230 Logged in 
Remote system type is UNIX. 
Using binary mode to transfer files. 
ftp> get config config.cfg 
local: config.cfg remote: config 
200 Port command okay 
150 Opening data connection for RETR config 
226 File sent OK 
2824 bytes received in 1.05 secs (2.6227 kB/s) 
ftp> bye 
221 Goodbye! 
+0

Смотрите, если ' heredoc' может помочь вам ... – anishsane

ответ

0

heredoc Не подходит для вас?

$ ftp xxx.19.254.61 <<< EOF 
get config config.cfg 
bye 
EOF 
+0

Спасибо за ответ! Можно добавить любой путь назначения? Таким образом, данные конфигурации автоматически сохраняются там! –

+0

Я не использовал ftp. Я думаю, вам придется сначала «cd» или «pushd» в локальном каталоге, прежде чем запускать команду 'get'. – anishsane

+0

Я думаю, что мало что нужно отредактировать. Например, нужно добавить строки для имени пользователя, пароля и пути назначения. –

0

я написал что-то подобное here

ftp_server='localhost' 
ftp_username='********' 
ftp_password='***********'  
mkdir /home/user/linux/source_folder 
source_folder="/home/user/linux/source_folder/" 
cp -avr config* $source_folder 
dest_folder="/home/user/linux/linux2/" 
ftp -i -n $ftp_server <<END_SCRIPT 
quote USER $ftp_username 
quote PASS $ftp_password 
cd $source_folder 
!cd $dest_folder 
mget -R * 
quit 
END_SCRIPT 

(Примечание: вы должны mkdir, потому что FTP не поддерживает несколько копий файлов из источника в папку назначения, так что вы должны использовать MGET с опцией -r для нескольких файлов, расположенный в новом созданном каталоге, затем скопируйте ваши файлы конфигурации в этот новый созданный каталог с помощью cp -avr config* $source_folder).

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

#!/bin/bash 
read -p "Enter Username: " Username 
read -sp "Enter Username Password: " Password 
echo 
ftp_server="localhost" 
ftp_username="$Username" 
ftp_password="$Password" 
passwrd=`echo $ftp_password | openssl aes-256-cbc -a -salt` 
decrypt=`echo $passwrd | openssl aes-256-cbc -a -d -salt` 
mkdir /home/username/linux/source_folder 
source_folder="/home/username/source_folder/" 
cp -avr config* $source_folder 
dest_folder="/home/username/linux/dest_folder/" 
ftp -in $ftp_server <<END_SCRIPT 
quote USER $ftp_username 
quote PASS $decrypt 
cd $source_folder 
!cd $dest_folder 
mget -R * 
quit 
END_SCRIPT 

инструкции:

  • Введите Ваш Real Имя пользователя
  • Введите Ваш Real Пароль
  • зашифровать частный ключ
  • Подтверждение пароля закрытого ключа
  • Последний вход в систему с s AME закрытый ключ

Пример:

  • Sazzad (Имя пользователя)
  • Sazzad (Real Password)
  • P @ $$ w0rd (password_to_encrypt (закрытый ключ))

  • P @ $$ w0rd same password_to_encrypt (закрытый ключ)

  • P @ $$ w0rd же password_to_decrypt (секретный ключ)

Примечание:

вы можете удалить эти строки, если вы не хотите, пары ключей шифрования с подключением OpenSSL

passwrd = echo $ftp_password | openssl aes-256-cbc -a -salt

расшифровывать = echo $passwrd | openssl aes-256-cbc -a -d -salt

и изменить quote PASS $decrypt к quote PASS $ftp_password

Альтернатива: просто кладете Username и Password и Server Ip Как 172.19.254.61

#!/bin/bash 
read -p "Enter Username: " Username 
read -sp "Enter Username Password: " Password 
echo 
read -p "FTP Server IP: " ftp_server 
ftp_username=$Username 
ftp_password=$Password 
source_folder="/home/rr-de-nms-1/Sazzad/source_folder/" 
cp -avr /home/rr-de-nms-1/Sazzad/config* $source_folder 
dest_folder="/home/rr-de-nms-1/Sazzad/dest_folder/" 
ftp -in $ftp_server <<END_SCRIPT 
quote USER $ftp_username 
quote PASS $decrypt 
cd $source_folder 
!cd $dest_folder 
mget -R * 
quit 
END_SCRIPT 

Теперь Ваша Конфигурационные файлы скачать здесь в /home/rr-de-nms-1/Sazzad/dest_folder/

+0

спасибо за ответ. Но можете ли вы добавить команду входа в систему в свой скрипт? Мне было бы лучше понять. –

+0

@SazzadHussein проверить последний скрипт снова bro –

+0

большое спасибо за ваши усилия и извините за мой поздний ответ. Я просто попробовал свой скрипт без шифрования. root @ xxxx:/home/sabuj # ./test1.ш Введите имя пользователя: админ Войти Имя пользователя Пароль: ф: не может стат â € ~config * â € ™: Нет такого файла или каталога Пользователь не может войти Нет соединения управления командой:. Плохой дескриптор файла –