Jeśli wiesz, że jeden z komputerów jest zawsze włączony, możesz również użyć go jako serwera proxy ssh.
powiedzmy, że masz skonfigurowaną nazwę domeny dla zewnętrznego adresu IP (tj. myhome.dyndns.com lub cokolwiek innego), to co zrobisz, to połącz się na jednym komputerze (powiedzmy, że malina jest zawsze aktywna, a port jest przesyłany z routera do it), twoje połączenia ssh będą:
szkoła -> (router, tutaj przezroczysty) -> malinowy -> ubuntu lub windows
teraz w swoim ~ / .ssh / config w szkole dodaj linie:
Host ubuntu 192.168.1.51
Hostname ubuntu (change to match your setup)
User myraspberryuser (change it ;-) )
IdentityFile ~/.ssh/id_rsa (The path to your private key, on the school computer, better on an usb key if public computer)
ForwardAgent yes
RequestTTY yes
ProxyCommand ssh -W %h:%p %r@myhome.dyndns.com
Aby się następnie połączyć:
ssh-add ~/.ssh/id_rsa # to do only once per session
ssh myuser@ubuntu (login without password)
Od teraz, jeśli wpiszesz ssh ubuntu, komputer najpierw połączy się z maliną, a następnie rozpocznie sesję ssh z komputerem ubuntu.
Polecam ci, bez względu na port, który wybierzesz przekazywać dalej, aby wyłączyć hasło w /etc/sshd.conf, aby umożliwić logowanie tylko za pomocą klucza ssh. W ten sposób, jeśli ustawisz klucz na malinie i na Ubuntu, z parametrem „ForwardAgent”, będziesz musiał tylko odblokować klucz, a następnie żadne hasło nie będzie wymagane do połączenia. W ten sposób, nawet jeśli boty próbują zalogować się na twoim ssh, nigdy nie będą mogły się zalogować, ponieważ nie zezwalasz na logowanie za pomocą hasła.
Bonus, działa również z scp, scp foo ubuntu: / tmp / foo użyje tej samej konfiguracji bez dalszych parametrów. Bonus 2, ta konfiguracja nie wymaga żadnych zmian w domu, jeśli jutro ty i inny komputer, po prostu skopiuj / wklej kod w konfiguracji ssh, zmień hosta i ip, to wszystko, nie trzeba otwierać nowego portu na routerze