У нас есть сервер-бастион B. Нам нужно SSH от A до B к C, используя закрытый ключ (мы используем keepass с keeAgent).
В бастионе есть: AllowTcpForwarding yes
.
Я пытался использовать proxyCammand
:
Host app
Hostname *.*.*.*
User my-user
Port 22
ProxyCommand ssh -W %h:%p bast
Host bast
Hostname *.*.*.*
# ForwardAgent no
User my-user
ssh app
успевает зайти на сервер-бастион и падает при попытке подключения к приватному серверу. Ошибка:
channel 0: open failed: connect failed: Connection timed out
stdio forwarding failed
ssh_exchange_identification: Connection closed by remote host
На /var/log/secure
войти в бастион вижу:
error: connect_to *.*.*.* port 22: failed.
Я нашел проблему.
В app
раздел я написал публичный IP, как и в Bast
раздел, и как я всегда подключаюсь.
Теперь я сменил IP на частный, и он работает! Я не уверен, почему я не могу подключиться через публичный IP. Я использовал AWS Быстрый старт.
Как bast аутентифицируется в приложении, если у вас отключена переадресация агента? Вам необходимо включить переадресацию агента на Bast, чтобы он мог передать ваш ключ приложению.
Кроме того, у вас есть ключ для приложения, загруженного в ваш локальный агент?