Я намагаюся створити ssh тунель для доступу до віддаленого сервера (A), який може бути доступний тільки через інший сервер (B). Я маю ключ на моєму локальному комп'ютері (L), щоб дістатися до сервера ретрансляції (B) та іншого ключа на сервері ретрансляції (B), щоб дістатися до сервера призначення (A).
[локальна машина (L) з ключем до сервера ретрансляції (B)] - & gt; [сервер ретрансляції (B) з ключем до сервера призначення (A)] - & gt; [сервер призначення (A)]
У мене є файл ~ / .ssh / config, який виглядає так на моєму локальному комп'ютері (L):
Host relay.server(B)
Hostname relay.server
Port 22
User me
IdentityFile ~/.ssh/id_rsa
Host destination.server(A)
Hostname destination.server
Port 1122
User me
IdentityFile ~/.ssh/id_rsa
І я можу добитися того, щоб мій тунель працював з наступним:
виконання команди: ssh -N -L 1122:SERVER_PRIVATE_IP:22 relay.server(B)
на моєму локальному комп'ютері (L). Це спонукає мене до пароля, щоб розблокувати перший ключ, а потім, здається, повісити його, не поверне підказку, використовуючи -f
або закінчується символом &
не дозволяє мені вводити пароль. Однак якщо я ^C
цю команду після введення пароля, а потім введіть ssh destination.server(A)
Я отримую запит на надання пароля, щоб розблокувати другий ключ, після якого я підключений до сервера призначення (A).
Я шукаю єдину команду, яка дозволить мені підключитися до сервера призначення (A) з моєї локальної машини (L) і запропонує мені надати паролі, необхідні для розблокування кожної клавіші. Або пропозицію про альтернативний спосіб організації речей, щоб я міг підключитися безпосередньо до сервера призначення (A) з моєї локальної машини (L) через сервер ретрансляції (B).
-f
; Мені дуже шкода, що це не спрацювало. (Ви звичайно що ви спробували-f
без&
?) Я без ідеї; Щасти.