Могу ли я объединить эти команды туннелирования S SH в одну команду? - PullRequest
1 голос
/ 24 апреля 2020

У меня есть двухэтапное решение для доступа к определенному серверу через S SH:

Шаг 1, в bash:

ssh -L 127.0.0.1:5000:server2.com:22 server1.com

Шаг 2, в новом bash сеанс:

ssh -P 5000 127.0.0.1  # This gets me into server2.com

Q1: есть ли способ объединить эти две команды в одну команду s sh, и ...
Q2: можно ли настроить одну запись хоста? в моем ~/.ssh/config для этого соединения (что позволяет мне просто напечатать, например, ssh my-tunnel)?

Я полагаю, это каким-то образом сводится к цепочке узлов. Я новичок в этом и не могу понять это ...

1 Ответ

2 голосов
/ 26 апреля 2020

Я пришел по этому вопросу и был удивлен тем, что s sh поддерживает прыжков хостов .

Вы можете использовать одну команду для подключения к целевой сервер, пока s sh позаботится о промежуточном прыжке.

ssh -J server1.com server2.com

-J [user @] host [: port] Подключитесь к целевому хосту, сначала установив sh соединение с хостом-перемычкой, а затем установив переадресацию TCP на конечный пункт назначения оттуда. Можно указать несколько прыжков, разделенных запятыми. Это ярлык для указания директивы конфигурации ProxyJump

А вот соответствующая конфигурация хоста перехода для S SH config:

Host jumphost
    Hostname server1.com
    User $YOUR_USERNAME
    Port 22
Host my-tunnel
    Hostname server2.com
    User $YOUR_USERNAME
    Port 22
    ProxyJump jumphost

..., включающая команду: ssh my-tunnel

...