GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie leitet man einen bereits weitergeleiteten SSH-Schlüssel an Tmux weiter?

Ich verbinde mich über SSH von einem Computer, auf dem meine Schlüssel gespeichert sind, an einen zweiten Computer weiter und versuche dann, die Schlüssel in tmux zu verwenden. Ich scheine die Weiterleitung zu „verlieren“, wenn ich tmux eingebe. Wie kann ich „erneut weiterleiten“, sodass ich meine Schlüssel innerhalb von tmux verwenden kann?

$ ssh [server] -o ForwardAgent=yes
$ git pull       # Succeeds.
$ /bin/bash
$ git pull       # Still succeeds, despite new shell.
$ exit
$ tmux attach
$ git pull       # Permission denied (publickey)

Akzeptierte Antwort:

Wenn Sie eine bereits vorhandene tmux-Sitzung anhängen, erbt die Shell die Umgebungsvariablen nicht von Ihrer Login-Shell. Insbesondere werden die Umgebungsvariablen des SSH-Agenten nicht geerbt.

Probieren Sie diesen Fix aus:

  1. Erstellen Sie dieses Skript und legen Sie es in $HOME/.ssh/saveagent

    ab
    #!/bin/sh
    SSHVARS="SSH_CLIENT SSH_TTY SSH_AUTH_SOCK SSH_CONNECTION DISPLAY"
    
    for var in ${SSHVARS} ; do
      echo "export $var="$(eval echo '$'$var)""
    done 1>$HOME/.ssh/latestagent
    
  2. Fügen Sie es Ihrem Shell-Startskript hinzu. Zum Beispiel, wenn Sie Bash verwenden:

    echo '. ~/.ssh/saveagent' >> ~/.bash_login
    
  3. Führen Sie nach dem Anhängen des tmux . $HOME/.ssh/latestagent


Linux
  1. So richten Sie die SSH-Anmeldung ohne Passwort ein

  2. So konfigurieren Sie die SSH-Schlüssel-basierte Authentifizierung in Linux

  3. So richten Sie SSH-Schlüssel ein

  4. Wie man SSH in einen Docker-Container einfügt

  5. So richten Sie SSH-Schlüssel unter Ubuntu 18.04 ein

So generieren Sie einen SSH-Schlüssel in CentOS 8

So erstellen Sie eine SSH-Schlüssel-Passphrase unter Linux

Wie man SSH in einen Raspberry Pi einfügt [Anfängertipp]

So fügen Sie dem Server einen öffentlichen SSH-Schlüssel hinzu

So führen Sie SSH in einen Docker-Container ein

So verbessern Sie die SSH-Sicherheit unter Ubuntu 18.04