Будут дополняться
Local Port Forwarding
Пробросить порт 5432 c хоста host2.0xbbeer.ru на порт 6432 локальной машины:
1ssh -L 6432:localhost:5432 user@host2.0xbbeer.ru
Мы можем пробрасывать порт не только с хоста, к которму подключаемся, но и с хоста, недоступного локальной машине, но доступного удаленной. Пробросим порт 5432 с host3.0xbbeer.ru на порт 6432 локальной машины.
1ssh -L 6432:host3.0xbbeer.ru:5432 user@host2.0xbbeer.ru
При пробросе портов в локальную машину можно указать интерфейс на который его делать, например, пробросим порт на все доступные интерфейсы (0.0.0.0):
1ssh -L 0.0.0.0:5432:localhost:5432 user@host2.0xbbeer.ru
Действия выше можно использовать по цепочке localhost –> host2 –> host3 и т.д., например:
1ssh -t -L 9090:localhost:9090 user@host2.0xbbeer.ru ssh -t -L 9090:localhost:80 user@host3.0xbbeer.ru
Результатом команды будет проброс 80 порта с host3 к нам на локальную машину на порт 9090. Заметьте, что в аргументах добавилась опция “-t”, она позволяет нам пробросить управлящий терминал, чтобы мы могли управлять конечным сервером (host3) с локальной машины, в противном случае подключение состоится, но вводить какие-либо команды мы не сможем, а в терминале будет сообщение:
Pseudo-terminal will not be allocated beacause stdin is not a terminal
Remote Port Forwarding
С помощью Remote Port Forwarding можно сделать доступными ресурсы локальной машины на удаленной, например:
1ssh -R 6432:localhost:5432 user@host2.0xbbeer.ru
Здесь мы пробросили порт 5432 локальной машины на порт 6432 host2.
X11-Forwarding
SSH позволяет нам работать с графическими приложениями, расположенными на удаленных серверах, для этого нужно запустить команду с параметром -X или включить X11.Forwading в /etc/sshd/ssh_config
1ssh -X user@host2.sgc.local
2gnome-calculator
В примере подключились к host2 с разрешенным пробросом графики и запустили калькулятор с удаленной машины.
Agent-Forwarding
Для того чтобы на удаленных машинах не хранить ключи доступа, можно пробросить ssh-агента с локальной машины:
1shh -A user@host2.0xbbeer.ru
Proxy-Jump
Если нужна переадресация агента, рекомендуют использовать опцию ProxyJump как более безопасную:
1ssh -J bastion.0xbbeer.ru internal.0xbbeer.ru
Подключились к internal.0xbbeer.ru через bastion.0xbbeer.ru , при этом все ключи локального ssh-агента доступны на internal.0xbbeer.ru
Полезные ссылки
- Про SSH-тунелирование: ssh-tunnels