Bash Скрипт для передачи файла между двумя серверами - PullRequest
0 голосов
/ 14 января 2020

Я пишу сценарий bash для выполнения следующих действий: перенести указанный файл c на сервер перехода, а затем передать тот же файл с сервера перехода на конечный сервер. Моя первоначальная идея заключалась в том, чтобы SCP файл и затем S SH на сервер перехода, а затем SCP файл еще раз, но сценарий bash завершается, когда IS SH на сервер перехода. Я относительно неопытен с bash и мне было интересно, как я могу выполнить эту передачу файла двумя ногами, или есть ли лучший подход, чем тот, который я сейчас использую?

Ответы [ 2 ]

2 голосов
/ 14 января 2020

scp уже может обрабатывать детали подключения к месту назначения через сервер перехода. Никаких дополнительных сценариев не требуется.

scp -o ProxyJump user@jumphost /path/to/local_file final_server:/destination/path
0 голосов
/ 14 января 2020

Используйте s sh ProxyJump. Создайте \ отредактируйте файл конфигурации в ~ / .s sh

nano ~/.ssh/config

Если в вашем домашнем каталоге нет папки ~ / .s sh, создайте его

mkdir -p ~/.ssh; chmod 700 ~/.ssh

И Конфигурация должна быть 600

chmod 600 ~/.ssh/config

. В этом файле вы можете создать псевдонимы s sh для ваших серверов, например,

Host server1 # ssh-alias name
HostName 192.168.0.1 # server name or ip address
User user # user to login

Предположим, что есть два (или более) сервера, но вы можете связаться с ними только с сервера1

Host server2 # ssh-alias name
HostName 192.168.0.2 # server name or ip address
User user # user to login
ProxyJump server1 # jump server

и с сервера3 только с сервера2

Host server3 # ssh-alias name
HostName 192.168.0.3 # server name or ip address
User user # user to login
ProxyJump server3 # jump server

Этот конфиг создаст «цепочку» серверов для доступа к удаленным хостам с простым именем

ssh server3

Или скопировать файлы \ dirs между ними

scp some_file server3:/home/user/

Но этот метод лучше всего использовать с аутентификацией ключа RSA

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...