Je suis nouveau sur le MacBook et j'utilise El Capitan.
Je migre l'utilisation de ma machine d'un PC vers un MacBook. J'utilise depuis longtemps PuTTY et SuperPuTTY sur un PC.
Je veux créer et enregistrer des informations de connexion sur mes serveurs Web dans MacBook Terminal, comme je l'ai fait dans SuperPuTTY sur le PC.
Est-il possible d'enregistrer les informations de connexion au serveur Web dans Mac Terminal?
Voici mon objectif global:
Je voudrais savoir s'il existe un moyen simple dans Mac Terminal de stocker les informations d'identification de connexion de ligne de commande suivantes, puis d'utiliser une sorte de shortcode pour se connecter à mon serveur Web via Terminal:
ssh -p 2200 root@123.456.789.012
Password: ****************************************************************
Je gère et me connecte à 5 serveurs Web différents, donc le tri et l'organisation des informations de connexion dans une méthode de connexion courte / rapide seraient un énorme gain de temps. Surtout parce que mes mots de passe sont des chaînes cryptées de 64 caractères.
Réponses:
Vous pouvez copier votre clé publique sur les machines distantes. Tant que l'authentification par clé publique est activée et que votre clé publique est présente sur la machine distante, vous pouvez
ssh
accéder aux machines sans avoir à fournir de mot de passe.Vous devez d'abord générer une paire de clés publique / privée comme ceci:
Suivez les invites. Quand il vous demande si vous souhaitez protéger la clé avec une phrase secrète, dites OUI! C'est une mauvaise pratique de ne pas protéger vos clés par mot de passe et je vais vous montrer comment ne devoir saisir le mot de passe que de temps en temps.
Si vous avez déjà une paire de clés, vous pouvez ignorer l'étape ci-dessus.
Maintenant, en supposant que votre clé ssh existe sur votre Mac
~/.ssh/id_rsa.pub
, vous pouvez l'installer sur une machine distante en exécutant:Pour votre exemple de serveur spécifique cité ci-dessus, la commande ressemblerait à:
Vous devrez entrer le mot de passe pour
[email protected]
effectuer cette copie, mais ce devrait être la dernière fois que vous devez le faire. En supposant que le serveur distantsshd
est configuré pour effectuer l'authentification par clé publique-privée, lorsque vous accédez à la boîte maintenant, il ne devrait pas vous demander de mot de passe pour leroot
compte - à la place, il vous demandera le mot de passe pour votre clé . Lisez la suite pour savoir comment faire de ce quelque chose que vous n'avez pas besoin d'entrer tout le temps.Répétez ce qui précède pour chaque machine que vous souhaitez utiliser avec vos clés au lieu d'un mot de passe.
Veuillez noter que toute personne qui met la main sur votre
~/.ssh/id_rsa
fichier peut accéder à cette machineroot
sans fournir de mot de passe pour la machine distante. Un mot de passe protégeant le fichier de clé garantit qu'ils auraient besoin de connaître le mot de passe pour que cette clé puisse l'utiliser. Assurez-vous que ce fichier est sécurisé. Utilisez le chiffrement du disque sur votre Mac et limitez les autorisations sur le fichier et le~/.ssh/
répertoire.Pour faciliter l'utilisation de la clé sans avoir à saisir le mot de passe à chaque fois, OS X exécute un
ssh-agent
processus en arrière-plan sur votre machine. Cet agent mettra en cache la paire de clés la première fois que vous l'utiliserez, vous n'aurez donc qu'à saisir votre mot de passe de temps en temps. Si vous ne dormez que sur votre Mac, ne le redémarrez jamais, vous pouvez passer de longues périodes sans avoir à saisir votre mot de passe.Vous pouvez pré-mettre en cache toutes vos clés SSH avec
ssh-agent
en exécutant:Il ne vous reste plus qu'à vous souvenir du mot de passe de la clé , pas des nombreux mots de passe de compte différents. Je garde généralement mes mots de passe clés dans 1Password (sans affiliation), ce qui simplifie encore le nombre de mots de passe dont je dois me souvenir. Ensuite, je les recherche simplement dans 1Password et les coupe-colle dans le terminal le temps impair que je redémarre mon Mac et provoque le redémarrage de mon fonctionnement
ssh-agent
.Si vous combinez la copie de votre clé sur des machines distantes avec la solution de gestion de connexion Terminal.app dans cette question , vous aurez quelque chose de très proche de PuTTY pour l'expérience de connexion GUI.
Côté serveur, vérifiez
/etc/ssh/sshd_config
et assurez-vous:est activé dans la configuration (c'est par défaut dans OpenSSH). Vous pouvez également définir:
Pendant que vous y êtes, l'authentification par mot de passe est désactivée et les clés deviennent le seul moyen d'accéder à la machine.
Vous devrez redémarrer sshd sur la machine si vous apportez des modifications au fichier de configuration.
la source
PasswordAuthentication yes
du côté serveur et PuTTY continuera de fonctionner comme il l'a toujours fait sur votre machine Windows. Ce n'est pas un scénario ni / ni - vous pouvez autoriser les deux types d'authentification sur le serveur. PuTTY prend également en charge l'autorisation de clé publique / privée comme ce FWIW. Vous pouvez copier vos~/.ssh/id_rsa*
fichiers sur votre machine Windows et les importer dans PuTTY pour l'authentification sur le serveur. PuTTY, sous le capot, utilise exactement les mêmes bibliothèques OpenSSH pour se connecter quessh
sur OS X.ssh-add
fonctionne toujours même dans Sierra (OS X 10.12). MerciVous pouvez utiliser sshpass pour enregistrer le mot de passe et vous n'aurez pas à l'insérer à chaque fois, ce qui n'est pas une bonne pratique (problèmes de sécurité).
Suivez les instructions d'installation de mac os x sur: https://gist.github.com/arunoda/7790979
Lorsque vous avez installé sshpass, exécutez
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no [email protected]:2200
faites la même chose pour vos 5 serveurs web et vous n'aurez pas besoin d'insérer le mot de passe à chaque fois.
la source
ssh -p 2200 [email protected]
etPassword: **********************
?ssh-copy-id
ne fait pas partie de la distribution OS X standard.En plus de la clé publique / privée, le fichier .ssh / config peut être configuré pour faciliter l'utilisation des commandes ssh, comme les alias, par défaut utilisateur / port par serveur, options ssh, commandes proxy ...
Fondamentalement, tout ce qui peut être compliqué dans une commande ssh peut aussi être dans ce fichier.
la source
J'ai porté Putty sur Mac en tant qu'ensemble d'applications natives, donc pas besoin de macports ou de terminaux si vous n'êtes pas un utilisateur technique.
Plus d'informations sur les captures d'écran sont ici: http://www.wine-reviews.net/2016/08/putty-for-mac-os-x-now-available.html
À votre santé,
la source