jak połączyć ssh z określonym portem?


56

Wiem jak podłączyć „do” określonego portu podczas ssh'ing.

ssh user@remotehostip -p XXX

ale czy istnieje sposób na ustanowienie ssh „z” określonym portem?

Mam na myśli, czy istnieje sposób na określenie portu, z którego będzie korzystał mój komputer lokalny?


Miałeś na myśli zmianę portu serwera lub portu odbierającego klienta? Edycja: Ok, usunąłem moją sugestię. Ulubione
polym

Chcę określić port klienta
kwagjj

3
@kwagjj masz na myśli port źródłowy? Jeśli tak, nie możesz kontrolować portu źródłowego.
Patrick

Odpowiedzi:


15

To nie jest łatwo możliwe. Jak można to zrobić, zależy od tego, gdzie powinien być widoczny port źródłowy: Też lokalnie, czy wystarczy, jeśli jest to właściwy port z perspektywy sieci zewnętrznej?

Możesz uruchomić klienta SSH w kontenerze LXC. Nigdy tego nie zrobiłem, dlatego nie mogę ci tego szczegółowo wyjaśnić. Ale tworzysz interfejs sieci wirtualnej i dołączasz go do tego kontenera, aby sshkorzystał z tego interfejsu, ponieważ jest to jedyny (zewnętrzny) interfejs, który widzi.

W systemie hosta powinno być możliwe wykrycie, że pakiet pochodzi z tego interfejsu. W ten sposób możesz użyć NAT (SNAT) Netfiltera do przepisania adresu źródłowego za pomocą czegoś takiego:

iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234

Oczywiście to nie działa (lub staje się bardziej skomplikowane), jeśli łączysz się z portami innymi niż 22.


1
dzięki ... ale myślę, że te informacje są poza moją ligą ... ale mimo to dziękuję :) Ale jeśli naprawdę naprawdę trafię w ślepy zaułek tego, co robię ... może zwrócę głowę na to odpowiedz jeszcze raz :)
kwagjj

tak, naprawdę trudno jest znaleźć informacje na ten temat. Znalazłem sshfsi ktoś powiedział, że to działa z tym poleceniem, ale nie wierzę w to. Jeśli znajdziesz odpowiedź, daj nam znać :)!
polym

@kwagjj Zainstalowanie kompletnego (w trybie tekstowym) systemu Linux jako prawdziwej maszyny wirtualnej może być łatwiejsze (zrozumieć). Jeśli używasz tej maszyny wirtualnej (lub określonego konta) tylko dla SSH, możesz to zrobić za pomocą VM Netfilter.
Hauke ​​Laging

6

Być może jest to składnia polecenia, której szukasz. ssh -p XXX użytkownik @ remotehostip Musisz zmienić kolejność opcji. Wypróbuj teraz, działa dla mnie. Z poważaniem.


2

Prostym rozwiązaniem tego problemu, jeśli przekierowujesz porty przez router, jest ustawienie portu wejściowego na cokolwiek chcesz, a portu lokalnego na 22. Twój komputer będzie nadal przyjmował połączenie ssh na 22 jak zwykle, ale w rzeczywistości będzie łączyć się spoza twojej sieci użyjesz portu przychodzącego. Jeśli tylko próbujesz powstrzymać boty przed uderzeniem twojej maszyny w 22, powinno to zrobić.

To może nie pomóc w rozwiązaniu konkretnego problemu, ale wyobrażam sobie, że wiele osób trafia tutaj z tego powodu.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.