Comment se connecter depuis un serveur distant à mon propre PC?

9

Aux fins de l'expérience, je dois me connecter à mon propre PC à partir des PC distants qui appartiennent au même domaine, c'est-à-dire: le réseau universitaire. Comment puis-je faire une connexion à distance dans ce cas en utilisant SSH?

À titre d'exemple, j'ai des comptes dans deux machines de l'Université X qui le sont me@machine_a.cs.x.caet me@machine_b.cs.x.camon compte d'ordinateur portable personnel l'est nawshad@ubuntu. Quelles informations supplémentaires dois-je fournir?

Nawshad Farruque
la source

Réponses:

11

Comme le souligne la réponse de daveh, cela pourrait être aussi simple que de simplement publier ssh nawshad@ipaddress.

Cependant, il est probable que votre PC ne soit pas accessible directement depuis Internet, c'est-à-dire qu'il se trouve derrière un routeur quelconque.

Une option consiste à dire au routeur de laisser passer le trafic vers votre PC. La façon dont vous procédez dépend du routeur. Cette option ne fonctionne que si vous disposez d'un accès administratif au routeur et qu'aucun autre routeur n'est impliqué.

Une autre option consiste à créer un tunnel SSH inversé, c'est-à-dire qu'à partir de votre PC, vous vous connectez à l'une (ou les deux) de vos machines universitaires, créant en même temps un tunnel des machines universitaires au port SSH de votre PC. Vous laissez cette connexion activée lorsque vous êtes à l'université, ce qui vous permet de vous reconnecter à votre PC à l'aide du tunnel créé par la session SSH.

Ce processus a été décrit par http://www.vdomck.org/2005/11/reversing-ssh-connection.html ; désolé pour le lien, mais je ne veux pas copier toutes les informations d'ici à ici.

En principe, la commande que vous émettez depuis votre PC est (en supposant que vous souhaitez vous connecter depuis me@machine_b.cs.x.ca)

ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca

Ensuite, lorsque vous êtes à l'université, vous pouvez vous connecter à votre ordinateur personnel avec la commande suivante:

ssh -p 10000 nawshad@localhost

Vous pouvez changer la valeur des 10000deux commandes en une valeur différente; assurez-vous simplement qu'il est supérieur à 1024.

Remarque: tant que ce tunnel est en vie, tous ceux qui y ont accès machine_b.cs.x.capeuvent essayer de se connecter à votre système; assurez-vous d'avoir de bons mots de passe.

Pour fermer le tunnel, il suffit de tuer le processus ssh correspondant, par exemple avec

pkill -f 'ssh -f -N -R 10000:localhost:22 me@machine_b.cs.x.ca'
daniel kullmann
la source
1

Oui. C'est très bien un cas pour utiliser SSH.

À moins que votre machine personnelle ne soit enregistrée auprès du DNS de votre université (ce qui est peu probable), vous feriez mieux de le faire via ipaddress.

Assurez-vous d'abord que SSH est activé sur votre ordinateur personnel. Vérifiez avec ps -ef | grep sshd | grep -v grepet sinon installez et démarrez sshd.

Une fois qu'il est en cours d'exécution, essayez de ssh sur votre machine via l'adresse IP, par exemple, ssh [email protected]vous devriez être invité à entrer votre mot de passe.

Bonne chance!

Daveh
la source
Quand j'ai couru ps -ef | grep ssh, j'ai trouvé ce qui suit: nawshad 2898 2512 0 23:18 pts / 0 00:00:00 grep --color = auto sshd Cela signifie-t-il que je n'ai pas activé ssh dans mon ordinateur portable personnel?
Nawshad Farruque
C'est la requête grep elle-même. SSH ne fonctionne pas sur votre ordinateur. Permettez-moi de mettre à jour la requête pour exclure cela
daveh
1
Cela ne fonctionne que si le PC est connecté directement à Internet, ce qui est peu probable.
daniel kullmann