Local Computer (Fedora) --SSH--> Server1 --SSH--> Server2
В некоторых средах, в которых я работаю, мы должны использовать «блоки перехода», где вы отправляете ssh на один сервер, чтобы перейти на другой сервер. Есть ли быстрый способ сделать это, например, отредактировав ~ / .ssh / config, чтобы всякий раз, когда я отправляю ssh на Server2 с моего локального компьютера, он автоматически создает необходимое соединение с Server1? Я могу настроить ключи, чтобы при необходимости мне не предлагалось ввести пароль для Server1.
Вы можете использовать такую команду:
$ ssh -t user@server1 ssh user@server2
Эта команда отправит вас на server2 через server1. Вам будет предложено последовательно ввести два пароля для входа на server1, а затем на server2. Если вы настроите необходимые ключи SSH, вы должны автоматически войти на server2.
Это очень полезно, когда вы не можете напрямую войти на server2.
Этот тип функциональности был добавлен в OpenSSH версии 5.4, и его можно использовать, выполнив
ssh -W server2 server1
куда server2
ваше предполагаемое место назначения и server1
ваш прокси-сервер. Вы можете сделать это проще, используя ProxyCommand
в вашей конфигурации ssh, например:
host = *.example.com
user = packs
port = 22
ProxyCommand ssh -W %h:%p server1
Я также видел это с помощью netcat, поэтому с теми же примерами, что и выше
ssh server1 nc -q0 server2 22
Точно так же это также можно использовать в вашей конфигурации ssh, за исключением замены ProxyCommand
так как
ProxyCommand ssh server1 nc -q0 %h %p
Я использую перенаправленные порты:
# ~/.ssh/config
# The jumping-off point
Host server1
Hostname blah.sample.com
LocalForward 10002 server2:22
LocalForward 10003 server3:22
# Servers behind the jumping-off point, reached by connecting
# to the forwarded ports above
Host server2
HostKeyAlias server2
Hostname localhost
Port 10002
Host server3
HostKeyAlias server3
Hostname localhost
Port 10003
У этого есть несколько преимуществ перед ssh -t user@server1 ssh user@server2
:
ssh
, scp
и sftp
(например, вы можете scp thisfile server2:~/thatfile
без дополнительной гимнастики).