Назад | Перейти на главную страницу

SSH-Config - расширение имени хоста в User

Я пытаюсь улучшить свой ssh-config, чтобы подключиться к конкретному нестандартному приложению.

Моя инфраструктура построена за бастионом. Этот особый бастион черного ящика работает, получая цель в поле User SSH.

Предполагается, что пользователи подключаются к клику вроде этого:

ssh user@target@bastion -A -i myKey

Это раздражает, и я хотел бы автоматизировать свою конфигурацию, чтобы иметь только простой cli, например этот:

ssh target

Чтобы улучшить ситуацию, он не поддерживает «новые» -J параметры в SSHd и используя ProxyCommand ssh bastion 'nc target 22' делает это "крахом".


В результате я застрял на своей ssh-config, пытаясь найти рабочую конфигурацию.

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

Host *
    User me@192.168.1.1     # Works fine
Host *
    User me@%h     # Not expanded

Не может расшириться:

debug1: Authenticating to 192.168.1.1:22 as 'me@%h'

Я не могу заставить его работать с ProxyCommand либо

Host *
    ProxyCommand ssh -o "User=me@192.168.1.1" bastion

Это вызывает эту ошибку

Pseudo-terminal will not be allocated because stdin is not a terminal.

Или застревает на этом после аутентификации

-bash: line 1: $'SSH-2.0-OpenSSH_7.9\r': command not found

У кого-нибудь есть идея?

Большое спасибо !