GNU/Linux >> Tutoriels Linux >  >> Linux

Ssh-agent n'est pas configuré (ssh_auth_sock, Ssh_agent_pid Env Vars Not Set) ?

J'ai créé un nouveau compte utilisateur pour un ami sur Kubuntu 12.04. Quand il utilise ssh il obtient cette erreur :

Impossible d'ouvrir une connexion à votre agent d'authentification

Nous exécutons ssh dans certains scripts bash.

Après avoir examiné la grande variété de choses qui peuvent conduire à cette erreur, je suis tombé sur cette solution :

$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa

Ensuite, il peut exécuter le ssh commandes (et scripts bash) comme prévu.

Avant d'exécuter ces deux commandes, les variables env ne sont pas définies dans un terminal :

$ echo $SSH_AGENT_PID

$ echo $SSH_AUTH_SOCK

$ 

Après avoir exécuté les commandes, les variables env sont définies comme prévu. Cependant, ils ne restent pas définis (par exemple, dans un shell différent ou après le redémarrage).

Je veux savoir comment configurer son ordinateur pour qu'il n'ait pas à exécuter ces deux commandes pour définir les variables env. Je n'ai pas besoin de les exécuter sur mon ordinateur (jamais). Jusqu'à présent, je ne vois pas ce qui est différent entre nos machines.

Je vois cette information dans la page de manuel, mais elle ne me dit pas comment Ubuntu configure automatiquement l'agent automatiquement ou ce qui se passe sur la machine de mon ami pour que cela ne fonctionne pas pour lui.

Il existe deux manières principales de configurer un agent :la première est que
l'agent lance une nouvelle sous-commande dans laquelle certaines variables d'environnement sont
exportées, par exemple ssh-agent xterm &. La seconde est que l'agent imprime les
commandes shell nécessaires (la syntaxe sh(1) ou csh(1) peut être générée)
qui peuvent être évaluées dans le shell appelant, par exemple eval ssh-agent -s pour
les shells de type Bourne tels que sh(1) ou ksh(1) et eval ssh-agent -c pour
csh(1) et dérivés.

Après avoir installé acct et redémarrage, ceci est la sortie de lastcomm :

ssh-agent         F    newuser __         0.12 secs Wed Aug  7 11:02
ssh-agent         F    newuser __         0.00 secs Wed Aug  7 20:34
ssh-agent         F    newuser __         0.02 secs Wed Aug  7 20:02
ssh-agent         F    newuser __         0.01 secs Thu Aug  8 12:39
ssh-agent         F    newuser __         0.02 secs Thu Aug  8 07:45

À partir de la page de manuel :

F — commande exécutée après un fork mais sans exec suivant

Je ne sais pas si c'est significatif.

Réponse acceptée :

Vous avez mentionné que votre utilisateur est ssh se connecter, ne pas se connecter localement. Ainsi, le use-ssh-agent dans /etc/X11/Xsession.options est un faux-fuyant :il ne sera pas exécuté sur les sessions SSH, uniquement lors de la connexion locale à un bureau graphique X11 (ou en utilisant une session X11 virtuelle comme sur VNC ou RDP).

En relation :Comment exécuter un programme spécifique en tant que root sans invite de mot de passe ?

Au lieu de cela, vous devriez vérifier si libpam-ssh est installé sur l'un ou l'autre système. Il peut être configuré pour authentifier un utilisateur à l'aide de phrases de passe de clé privée SSH, mais cela est facultatif et vous devrez placer spécifiquement la clé dans ~/.ssh/login-keys.d/ pour cette fonctionnalité.

Son autre fonctionnalité, cependant, est de démarrer automatiquement un agent SSH sur n'importe quelle session de connexion et d'ajouter automatiquement des clés privées SSH à l'agent si leur phrase de passe est la même que le mot de passe de connexion de l'utilisateur. Je pense que cela pourrait être la cause du comportement différent entre vos systèmes.


Linux
  1. Guide pratique :Premiers pas avec Ansible

  2. Comment configurer des clés SSH sur Debian

  3. tmux Ctrl+B ne fonctionne pas

  4. Comment définir un fichier comme NON exécutable ?

  5. SSH - définir les variables d'environnement par chaque connexion - hôte partagé godaddy

Comment configurer une connexion SSH sans mot de passe

Premiers pas avec LibreCAD

Les variables d'environnement dans /etc/environment ne sont pas globalement visibles ?

Vim ne fonctionne pas dans Tmux ?

Premiers pas avec SSH sous Linux

Comment configurer SSH sur CentOS et RHEL