J'ai plusieurs machines à la maison auxquelles j'aimerais accéder depuis l'école en utilisant SSH et VNC. Pour ce faire, je leur ai donné des adresses IP statiques:
- 192.168.1.50: Windows
- 192.168.1.51: Ubuntu
- 192.168.1.52: Raspberry Pi / Raspbian
Je sais que SSH utilise le port 22, donc je peux transférer ce port vers 192.168.1.51:22 sur mon routeur, mais de cette façon, je ne pourrai pas SSH vers mon Raspberry Pi. Existe-t-il un moyen de configurer cela pour pouvoir accéder aux deux machines?
networking
ssh
port-forwarding
acourchesne
la source
la source
Réponses:
Si vous avez IPv6, vous n'avez même pas besoin de redirection de port! Obtenez simplement votre adresse IPv6 permanente (en fonction de votre adresse MAC, il est donc garanti de rester la même à moins que votre FAI ne sache pas comment fonctionne IPv6) et utilisez-la pour créer un tunnel. Comme votre adresse IPv6 est publique et permet au monde pour vous accéder sans avoir à passer par votre NAT local, vous n'avez pas à vous soucier d'activer la redirection de port n'importe où. Cela "fonctionnera tout simplement".
Notez, cependant, que IPv6 n'est toujours pas vraiment pris en charge à l'échelle mondiale, et que votre connexion Internet à domicile et votre connexion Internet à distance doivent avoir IPv6 pleinement opérationnel pour ce faire.
Cependant, si vous êtes comme la plupart des gens et que vous n'avez que IPv4, il y a encore un moyen! Certains routeurs vous permettent de transférer des ports source spécifiques vers des ports de destination spécifiques, comme ceci:
Dans cet exemple, le port
22
est transmis directement à ma machinesheepdog
, tandis que le port292
est transmis au port22
activécoyote
.Enfin, si votre routeur ne dispose pas de cette fonctionnalité, vous pouvez simplement changer le port, car SSH ne se limite pas à simplement s'exécuter sur le port
22
. Vous pouvez le définir comme vous le souhaitez (qui n'est pas utilisé).Dans
/etc/ssh/sshd_config
(vous avez besoin de root pour éditer, doncsudo nano /etc/ssh/sshd_config
), il y a une ligne en haut du fichier:Changez cela en ce que vous voulez:
Redémarrez le serveur SSH avec
sudo service ssh restart
et transférez le port sur le routeur.Cependant, pour ce cas d'utilisation, je considérerais si les tunnels SSH sont la bonne chose à faire. Vous devriez peut-être configurer un serveur VPN dédié sur votre réseau domestique? Cela vous permettra d'accéder à l' ensemble de votre réseau domestique à partir de n'importe où, à condition que vous disposiez des informations de sécurité appropriées nécessaires au VPN. De plus, les frais généraux sont légèrement inférieurs avec un VPN; vous n'avez généralement besoin de transférer qu'un seul port pour une seule machine.
la source
Un moyen simple de résoudre ce problème consiste à mapper différents ports de votre routeur au port 22 de vos machines. Par exemple, vous pouvez avoir les paramètres suivants dans votre routeur (en supposant que votre routeur a IP
1.2.3.4
)Ensuite, lorsque vous utilisez ssh, spécifiez le port que vous souhaitez utiliser en tapant
Vous devriez maintenant pouvoir vous connecter à toutes vos machines.
la source
Si vous savez que l'un de vos ordinateurs est toujours opérationnel, vous avez également la possibilité de l'utiliser comme proxy ssh.
disons que vous avez un nom de domaine configuré pour votre adresse IP externe (c.-à-d. myhome.dyndns.com ou autre), ce que vous allez faire est de vous connecter sur un ordinateur (disons que la framboise est toujours active et que vous transférez le port de votre routeur vers it), vos connexions ssh seront:
école -> (routeur, transparent ici) -> framboise -> ubuntu ou windows
maintenant, dans votre ~ / .ssh / config à l'école, ajoutez les lignes:
Pour se connecter ensuite:
À partir de maintenant, si vous tapez ssh ubuntu, l'ordinateur se connectera d'abord à la framboise, puis démarrera une session ssh sur l'ordinateur ubuntu.
Je vous recommande, quel que soit le port que vous choisissez de transférer, de désactiver le mot de passe dans /etc/sshd.conf pour autoriser uniquement la connexion via la clé ssh. De cette façon, si vous configurez la clé sur la framboise et sur ubuntu, avec le paramètre 'ForwardAgent', vous n'aurez qu'à déverrouiller la clé et aucun mot de passe n'est requis pour se connecter. De cette façon, même si les bots essaient de se connecter sur votre ssh, ils ne pourront jamais se connecter puisque vous interdisez la connexion par mot de passe.
Bonus, cela fonctionne aussi avec scp, scp foo ubuntu: / tmp / foo utilisera la même configuration sans autres paramètres. Bonus 2, cette configuration ne nécessite aucun changement à la maison, si demain vous et un autre ordinateur, copiez / collez simplement le code dans votre configuration ssh, changez l'hôte et l'ip, c'est tout, pas besoin d'ouvrir un nouveau port sur le routeur
la source
Je le fais - je laisse le rpi en place et je le branche directement sur le routeur tout le temps (car c'est le moins cher à exécuter) et je le ssh simplement, puis je rebondis dessus vers les autres - il n'a jamais besoin de beaucoup d'attention.
Il est également possible de VNC / RDP une interface graphique via un canal ssh, un peu amusant, ou de transférer un port qui vous permet de naviguer vers un serveur sur votre ordinateur de bureau tout en le gardant privé.
La raison pour laquelle j'ai ajouté cette réponse est de vous donner quelques suggestions.
1) Utilisez un port différent de 22. Vous pouvez le laisser 22 sur le PI, mais changez le port entrant sur votre routeur en quelque chose de plus de 10 000 ... Sinon, vous obtiendrez des dizaines à des centaines d'attaques par jour - et une fois que vous êtes connu pour exécuter un hôte SSH la seconde où un exploit est trouvé, vous en êtes le propriétaire.
2) Utilisez des certificats au lieu du nom d'utilisateur / mot de passe - désactivez complètement la connexion par nom d'utilisateur / mot de passe.
3) Si votre adresse IP peut changer, utilisez un service de type dyndns pour vous procurer un hosthame DNS (j'utilise noip, c'est gratuit et ils prennent en charge un client Linux pour mettre à jour votre adresse ip - je pense que vous pouvez simplement en obtenir le pi maintenant). Il y a encore quelques autres sociétés qui offrent cela gratuitement.
4) Gardez votre pi (ou tout ce que vous utilisez) à jour (mise à jour sudo apt-get). Je crois que ssh est assez bien vérifié maintenant, mais je croyais aussi que de https ...
la source
Je doutais que cela convienne mieux comme commentaire plutôt que comme réponse, mais je le posterai quand même ici.
Quelques choses auxquelles vous devez penser avant de faire ceci:
la source