web-dev-qa-db-fra.com

Comment enregistrer les options et les connexions SSH dans Ubuntu?

J'ai actuellement deux machines distantes auxquelles je me connecte. D'une part, j'utilise une clé privée avec phrase secrète, et une autre, j'utilise un mot de passe root.

Maintenant, lorsque je veux me connecter à la machine avec une authentification par mot de passe root, ssh me demande tout d’abord de saisir la phrase secrète de la machine, quelle clé privée se trouve dans mon répertoire ~/.ssh, puis de saisir le mot de passe de la machine à laquelle j suis connectign avec le mot de passe root.

Existe-t-il un moyen de sauvegarder des sessions et des options de connexion, par exemple comme dans Putty?

2
Alan Kis

Vous pouvez utiliser un fichier ssh-config par utilisateur situé dans

~/.ssh/config

ou un système global dans

/etc/ssh/ssh_config

qui stocke les paramètres de base pour chaque connexion.

Exemple:

Host example_Host
    User foo
    HostName example.com
    IdentityFile ~/.ssh/foo.key
    Port 23421

Ayant ceci en place, appelant

ssh example_Host

ouvrira une connexion ssh à example.com sur le port 23421, en utilisant les utilisateurs foo et foo.key pour l'authentification.

Pour une explication détaillée, consultez la page de manuel de ssh:

man ssh

N'oubliez pas de définir les autorisations appropriées sur le fichier de configuration:

chmod 600 ~/.ssh/config
8
hecke

Il y a ~/.ssh/config comme indiqué dans les pages de manuel pour ssh . Il est bien décrit ici et dans man ssh_config et également à plusieurs reprises sur askubuntu.

TL; DR:

# to preserve connections:
ControlMaster auto
ControlPath ~/.ssh/controlmasters/%r@%h:%p
ControlPersist 20m

# to provide correct keys, users, IPs and use aliases
Host yourHost
  Hostname IPaddress
  User user1
  IdentityFile ~/.ssh/id_ecdsa

Host yourSecondHost
  Hostname IP2
  User user2
  IdentityFile ~/.ssh/id_rsa

Si vous ne voulez pas écrire de phrases secrètes, il existe ssh-agent, où vous pouvez ajouter les clés de votre session:

eval `ssh-agent`
ssh-add ~/.ssh/id_ecdsa
# insert passphrase once
ssh yourHost
# will ask only for password
# next ssh connections will not ask for 
0
Jakuje