[LINUX] Connexion SSH depuis Windows via VPN SSL

Connexion SSH depuis Windows via VPN SSL

Je pense que le nombre de personnes qui travaillent à distance en raison de la catastrophe corona a augmenté, mais je pense qu'il y a aussi des personnes qui ont un serveur dans l'intranet, ont mis en place un VPN pour accéder de l'extérieur, puis se connecter avec ssh. Dans cet article, je présenterai un exemple de la façon de résoudre le problème du démarrage de logiciels tels que FortiClient, de la connexion avec SSLVPN et de la connexion avec SSH autant que possible. Je pense que les gens qui ne veulent pas utiliser la souris viendront à Dokkan Dokkan.

environnement

Connexion SSL-VPN

Je pense que c'est le point le plus gênant. Il est nécessaire de démarrer FortiClient VPN, de saisir le mot de passe sur l'interface graphique démarrée et de se connecter. Dans certains cas, appuyer sur le protocole https à partir du Web peut fournir une page sur laquelle vous pouvez vous connecter au VPN, mais l'effort ne change pas beaucoup. Quoi qu'il en soit, lorsque vous vous connectez à SSH, vous devez interagir avec l'écran noir, c'est donc l'humanité que vous voulez mettre en place un VPN à partir de la commande.

Fortinet publie l'application FortiClient dans un magasin d'applications Windows appelé Microsoft Store. L'examen est terrible, mais contrairement à l'application FortiClient VPN, il fournit la fonction de fournisseur VPN pour le système Windows, ce n'est donc pas un moyen de se connecter à un VPN sur l'interface graphique à partir de l'écran qui l'a démarré. Par conséquent, vous vous connecterez au VPN en utilisant la fonction de connexion VPN Windows standard.

Méthode de connexion

Installez App. Allez dans "Paramètres> Réseau et Internet> VPN" ou recherchez "VPN" depuis le début, ouvrez l'écran des paramètres VPN, allez dans "Ajouter une connexion VPN", et allez dans "Fournisseur VPN" en haut. Sélectionnez "FortiClient" (s'il n'apparaît pas, vous ne l'avez pas installé). Après cela, entrez le nom de connexion approprié (myvpn dans l'image ci-dessous) et les informations de la destination de la connexion (sslvpn.myvpn.com dans l'image ci-dessous) et enregistrez-le. L'utilisateur et le mot de passe vous seront demandés lorsque vous vous connectez pour la première fois, vous pouvez donc le laisser vide (ou vous ne pouvez pas le saisir). image.png

Maintenant, si vous sélectionnez une connexion à partir du nom de connexion ajouté, l'authentification de l'utilisateur sera effectuée et la connexion sera terminée. À partir de l'icône de type réseau (où vous l'utilisez lors de la connexion au WiFi) sur le côté droit de la barre des tâches, vous pouvez vérifier l'état de la connexion du VPN, etc., et en cliquant dessus, le même écran de configuration s'ouvre et vous pouvez vous connecter / vous déconnecter.

Appel de la commande

Bien sûr, Windows a un logiciel en cours d'exécution lorsque cette connexion VPN est établie, alors je pense à l'appeler avec une commande. Il est difficile de cliquer sur la souris.

Plus précisément, c'est comme suit.

rasdial [Nom de la connexion] [Nom d'utilisateur] [mot de passe]

Si vous vous êtes connecté en cochant «Enregistrer les informations de connexion» dans les paramètres, vous pouvez omettre le nom d'utilisateur et le mot de passe.

rasdial [Nom de la connexion]

Vous pouvez démarrer la connexion avec. J'ai peur d'entrer le mot de passe normalement, donc je pense que c'est mieux. Pour couper

rasdial /disconnect

Est utilisé.

C'est l'histoire lors de l'exécution à partir d'une invite de commande ou de Power Shell. Cela est possible car il existe "rasdial.exe" dans% SYSTEMROOT% \ System32 \ et la variable d'environnement PATH est généralement transmise. Si vous utilisez WSL2, vous ne pouvez pas le faire avec la commande rasdial, mais comme WSL2 peut exécuter des fichiers exe avec métamorphose,

rasdial.exe [Nom de la connexion]

Vous pouvez vous connecter avec. Puisque PATH a été ajouté depuis le début, je pense que c'est une véritable métamorphose.

Cela a résolu dans une certaine mesure le problème de connexion VPN gênant.

Connexion SSH

Windows 10 inclut un client OpenSSH par défaut et est souvent

%SYSTEMROOT%\System32\OpenSSH\ssh [Nom d'utilisateur]@[point d'accès]

Je pense que vous pouvez vous connecter avec. ssh-keygen etc. fonctionnent également correctement.

Cependant, comme je l'ai mentionné un peu plus tôt, Windows 10 a WSL2 (Windwos Subsystems for Linux 2) (la dernière version devrait l'avoir pour le moment), et si le serveur est Linux, il est préférable d'utiliser WSL2. Il y a moins de confusion et je pense que c'est mieux. Diverses personnes ont expliqué l'introduction de Linux par WSL2, alors jetez-y un œil.

L'histoire est donc simple, par exemple si vous utilisez une distribution Ubuntu avec WSL2

"Touche Windows" (démarrer s'ouvre) → entrer "ubuntu" ・ Commencer par entrer → Se connecter avec ssh [nom d'utilisateur] @ [destination]

Je pense que la procédure est la plus courte de l'histoire à ce jour. Vous pouvez également le démarrer en tapant "ubuntu" depuis "Exécuter en spécifiant un nom de fichier" ou "Touche Windows + R" sans chercher depuis le début. Je pense que l'un ou l'autre est bien, mais il peut y avoir des moments où cela est pratique car l'historique reste si vous sélectionnez "Exécuter en spécifiant le nom du fichier".

Créer une fonction

L'histoire ne s'arrête pas là. Si vous établissez toujours une connexion VPN vers la même destination et une connexion SSH vers la même destination, environ 99,9% des personnes dans le monde voudront créer une fonction (selon mes recherches).

Tout d'abord, pour ssh, si vous vous connectez uniquement à la même destination, utilisez un alias

alias myssh="ssh [Nom d'utilisateur]@[point d'accès]"
# example
alias myssh="ssh [email protected]"

Après cela, vous pouvez vous connecter avec la commande myssh. Si vous ne souhaitez pas saisir votre mot de passe, pourquoi ne pas passer à la méthode d'authentification par clé publique et vider votre phrase de passe? Je fais.

S'il y a plusieurs destinations de connexion, elle sera prise comme argument et exécutée par la fonction.

function myssh () {
  command ssh [email protected].$1
}

Ou s'il s'agit d'une authentification par clé publique

function myssh () {
  command ssh -i ~/.ssh/id_rsa [email protected].$1
}

Etc. Il n'est peut-être pas nécessaire d'avoir command, mais veuillez l'ajouter s'il y a un alias avec le même nom. Avec la fonction ci-dessus, myssh 921 essaiera de se connecter à 123.45.67.921.

L'alias est suffisant pour la connexion VPN, mais je veux lancer la connexion et la déconnexion dans la même commande qu'une option, donc j'en fais une fonction.

function myvpn () {
  if [ $# -eq 0 ]; then
    command rasdial.destination de la connexion exe
  else
    command rasdial.exe /disconnect
  fi
}

Avec la fonction ci-dessus, l'exécution de myvpn seule se déconnectera avec un ou plusieurs arguments tels que la connexion VPN et myvpn d. Je ne pense pas qu'il y ait beaucoup de destinations de connexion VPN, mais s'il y en a, je pense qu'il vaut mieux utiliser les options et recevoir la destination de connexion comme argument. Si c'est gênant, je pense que ce sera simple si vous utilisez différents alias pour vous connecter et vous déconnecter.

Les fonctions ci-dessus doivent être ajoutées à ~ / .bashrc. Après avoir apporté des modifications, déconnectez-vous ou exécutez avec . ~ / .Bashrc ou source ~ / .bashrc.

Avec ce qui précède, le flux est "Démarrer WSL2 (Ubuntu cette fois) -> Connexion VPN en exécutant myvpn-> connexion SSH par myssh ". Dans certains cas, il peut être plus facile d'établir une connexion SSH lorsque la connexion VPN est réussie.

finalement

J'ai résumé le contenu recherché dans le but de simplifier la connexion VPN gênante. Je suis nouveau sur Linux, alors qu'en est-il des fonctions sales et de la sécurité? Il peut y avoir quelque chose comme ça. Je ne pense pas que les mots de passe soient enregistrés en texte brut, mais j'espère que chaque personne sera consciente de la sécurité.

Veuillez utiliser le temps nécessaire pour vous connecter à votre travail.

Recommended Posts

Connexion SSH depuis Windows via VPN SSL
[Remarque] Connexion ssh depuis le terminal avec AWS LightSail
[Postgresql] Connexion SSH au serveur de base de données externe à partir du client
Établissez une connexion VPN SSL SonicWall avec l'interface de ligne de commande Linux
Connectez-vous à centos6 sur Virtualbox avec une connexion SSH depuis Mac