Mam 2 komputery, jeden, z którego korzystam, a drugi dla dzieci. Chcę mieć możliwość ssh na swoim komputerze, aby kontrolować (jak wyłączyć itp.), Ale jestem ciekawy, jak to zrobić. Oboje jesteśmy w tym samym domu i dzielimy to samo połączenie internetowe.
Jaki byłby najlepszy sposób to zrobić? Z badań przeczytałem, aby zainstalować serwer openssh na komputerze zdalnym, ale jestem zaskoczony tym, czego użyć dla nazwy hosta podczas próby połączenia. Zwykle w przypadku VPS jest to zewnętrzny adres IP, ale skoro oboje dzielimy połączenie Wi-Fi, czy byłby to sprzętowy adres IP? Czy powinniśmy komunikować się bezpośrednio przez LAN, czy przez Internet?
źródło
avahi-browse
musisz zainstalowaćavahi-utils
pakiet (który również pobierzeavahi-daemon
usługę zapewniającą adresowanie lokalne).sudo apt-get install avahi-utils
.avahi
. Oba komputery są podłączone do tego samego routeraMożesz użyć adresu IP do ssh do komputera dziecka. Jeśli chcesz użyć nazwy komputera, edytuj plik / etc / hosts, aby uwzględnić nazwę komputera.
źródło
ssh
ing według nazwy bez edycji pliku hosts, nadając nazwy hostom w~/.ssh/config
: howtogeek.com/75007/…Przed wykonaniem ssh sprawdź klienta i serwer ssh. Jeśli nie masz zainstalowanej tej usługi
Jeśli już to zrobiłeś
Przykład:
Jeśli wystąpił błąd: „Odmowa zezwolenia, spróbuj ponownie”.
Sprawdź dwukrotnie nazwę użytkownika i adres IP.
źródło
Korzystam z pliku ~ / .ssh / config, który ssh automatycznie analizuje, oto przykład:
Pamiętaj, że możesz użyć dowolnej zmiennej (po stronie klienta) w tym pliku i ustawić ją globalnie lub na serwer.
źródło
server1-web.example.org
orazserver2-db.example.org
z odpowiednimi serwerami?Możesz ssh bezpośrednio do lokalnego adresu IP, pod warunkiem, że Twoja sieć LAN używa na przykład statycznych adresów IP
ssh [email protected]
Możesz edytować plik hosts na obu komputerach, jak wspomniał Ed Manet w swojej odpowiedzi . W ten sposób możesz następnie ssh używając nazwy hosta komputera
ssh someuser@some_hostname
Możesz skonfigurować lokalny serwer DNS, aby rozpoznawał hosty twojej sieci LAN. W ten sposób będziesz mógł ssh używając nazwy hosta komputera jak w opcji 2, ale z dodatkową korzyścią unikania edytowania każdego pliku hosta, wskazując serwer DNS w ustawieniach sieciowych Ubuntu.
DNSMasq to całkiem niezły serwer DNS łatwy w konfiguracji.
Inną opcją jest BIND .
źródło
Użyj lokalnego adresu IP LAN. Alternatywne podejście wymaga, aby jakiś port był otwarty na Internet, aby umożliwić Ci logowanie.
Potrzebne byłoby również mapowanie portów (na routerze). Użycie „publicznego” adresu IP (na routerze) jako celu nie spowoduje połączenia z żadnym z dwóch komputerów.
Najprostszym sposobem jest trwałe przypisanie każdego adresu IP (dla 2 komputerów) routerowi. Następnie po prostu połącz się z tym adresem IP.
Jeśli chcesz być sprytny (później), skonfiguruj serwer i zacznij korzystać z lokalnej usługi DNS, aby przypisać znaczące nazwy do każdego urządzenia. Naprawdę nie warte kłopotu tylko dla 2 komputerów.
źródło
Jeśli dzielisz to samo połączenie internetowe, najprawdopodobniej jesteś za tym samym routerem Wi-Fi. Więc łączysz się bezpośrednio z komputerem dla dzieci:
lub:
Oczywiście działa to lepiej, jeśli komputer dziecięcy ma statyczny adres IP. W przeciwnym razie zawsze musisz sprawdzić, jaki jest adres IP. Większość routerów ma opcję przypisania statycznego (zawsze tego samego) adresu IP wybranym urządzeniom. Niektóre routery mają również opcję przypisania nazwy hosta do określonego urządzenia - wtedy dla dowolnego urządzenia w tym samym adresie sieciowym „dzieci” oznaczałyby to samo. Jeśli przypiszesz nazwy hosta za pomocą pliku / etc / hosts, nazwa hosta będzie znana tylko temu komputerowi, na którym znajduje się ten plik hosta. Zakłada również, że komputer dla dzieci ma statyczny adres IP.
Możesz ustawić statyczny adres IP komputera dziecięcego również na tym komputerze, ale radzę skonfigurować ustawienia sieciowe w routerze. Jeden punkt kontroli - łatwiejszy w zarządzaniu. Jeśli coś jest niejasne, zostaw komentarz, a ja poszerzę swoją odpowiedź.
źródło
ssh: connect to host xxx.xxx.x.xx port 22: connection refused
- czy konieczna jest dodatkowa konfiguracja?Możesz użyć adresu IP zamiast nazwy hosta lub przypisać niestandardową nazwę hosta do swojego
/etc/hosts
pliku.Aby uzyskać adres IP na komputerze dziecka: w menu sieci patrz „Informacje o połączeniu” lub uruchom
ifconfig
w wierszu polecenia (należy to zrobić na komputerze dziecka).Router Wi-Fi przypisuje te adresy IP i powinieneś być w stanie skonfigurować je tak, aby zachować określone adresy IP dla komputerów, do których są aktualnie przypisane. (W przeciwnym razie adresy IP mogą się zmieniać od czasu do czasu).
źródło
Możesz po prostu przypisać nazwę komputera do komputera dziecka.
Więc po prostu zrób
ssh MachineName
Nigdy tego nie użyłem, dzieliłem się tylko myślą w mojej głowie.
źródło