Próbuję tunelować do serwera za pośrednictwem serwera pomostowego. Do tej pory udało mi się uruchomić go poprawnie z powłoki poleceń za pomocą następującego polecenia:
ssh -A -t bridge_userid@bridgemachine.com ssh -A remote_userid@remoteserver.com
Ale próbowałem zawinąć to w mój ~/.ssh/config
plik i mam problemy. Próbowałem:
Host axp
User remote_userid
HostName remoteserver.com
IdentityFile ~/.ssh/id_rsa.eric
ProxyCommand ssh -A -t bridge_userid@bridge_userid.com ssh -A remote_userid@%h
Ale kiedy to robię, otrzymuję następujący komunikat o błędzie remoteserver.com
i nie jestem pewien, co go powoduje:
ksh: SSH-2.0-OpenSSH_6.8 ^ M: nie znaleziono
Wiem, że kiedy się loguję remoteserver.com
, moja powłoka jest /usr/bin/ksh
.
Próbowałem dodać argumenty ścieżki do poleceń ssh w pliku konfiguracyjnym, ale nie miało to znaczenia.
Jakieś pomysły, co to może być?
ssh
ssh-tunneling
ssh-config
Eric B.
źródło
źródło
ProxyCommand
należy go używać. Zazwyczaj używa się go w przypadku netcat, gdzie ssh przepuszcza przez nie dane wyjściowe, a netcat działa jako tunel do portu SSH zdalnego serwera. Potrzebujesz ProxyCommand czegoś takiego,ssh -W %h:%p [email protected]
jeśli chcesz korzystać z tej funkcji.ssh -A [email protected]
jako polecenie do uruchomienia na maszynie mostowej, config nie daje możliwości dostarczenia domyślnych poleceń. To, co próbujesz zrobićworks
samo w sobie, ale potem ssh próbuje użyć twojegoProxyCommand
jako tunelu i zaczyna odpalać protokół SSH w dół, tam gdzie na drugim końcu czeka powłoka zamiast sshd nasłuchującego protokołu SSH.Odpowiedzi:
Odpowiedź Jakuje jest słuszna, ale od OpenSSH
7.3
możesz teraz używać,-J
ProxyJump
co jest łatwiejsze. Zobacz moje notatki:OpenSSH
7.3
lub nowszyZastosowanie
ProxyJump
. Jak wyjaśniono w instrukcji:~/.ssh/config
Przykład ProxyJump~/.ssh/config
Połączyć się z
Dodaj,
-v
aby uzyskać pełne wyjściePrzykład
-J
wiersza polecenia ProxyJump~/.ssh/config
Połączyć się z
Albo użyj
-o
OpenSSH
5.4
lub nowszyUżyj
ProxyCommand
z-W
~/.ssh/config
Połączyć się z
Albo użyj
-o
Poniżej OpenSSH
5.4
~/.ssh/config
Połączyć się z:
Albo użyj
-o
Źródła
-J
dodano w OpenSSH 7.3-W
dodane w OpenSSH 5.4źródło
Nie potrzebujesz
netcat
na swoim moście. Jak DanSut zaproponował w komentarzach, możeszssh -W
zamiast tego użyć opcji wiersza poleceń, ta konfiguracja powinna działać dla Ciebie:źródło