GNU/Linux >> Linux Esercitazione >  >> Linux

Come inoltrare una chiave Ssh già inoltrata in Tmux?

Mi sto connettendo tramite SSH da una macchina in cui sono archiviate le mie chiavi, l'inoltro a una seconda macchina e quindi provo a utilizzare le chiavi da tmux. Mi sembra di "perdere" l'inoltro quando si entra in tmux. Come posso "inoltrare di nuovo" in modo da poter usare le mie chiavi da tmux?

$ 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)

Risposta accettata:

Se stai allegando una sessione tmux già esistente, la shell non sta ereditando le variabili di ambiente dalla tua shell di login. In particolare, non erediterà le variabili di ambiente dell'agente ssh.

Prova questa soluzione:

  1. Crea questo script e inseriscilo in $HOME/.ssh/saveagent

    #!/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. Aggiungilo allo script di avvio della shell. Ad esempio se usi bash:

    echo '. ~/.ssh/saveagent' >> ~/.bash_login
    
  3. Dopo aver collegato il tmux, eseguire . $HOME/.ssh/latestagent


Linux
  1. Come configurare l'accesso SSH senza password

  2. Come generare una coppia di chiavi SSH (con esempi)

  3. Come impostare le chiavi SSH

  4. Come configurare le chiavi SSH su Ubuntu 18.04

  5. Come configurare il tunnel ssh per inoltrare ssh?

Come generare una chiave SSH in CentOS 8

Come creare una passphrase chiave SSH in Linux

Come SSH in un Raspberry Pi [Suggerimento per principianti]

Come aggiungere la chiave pubblica SSH al server

Come SSH in un Docker Container

Come migliorare la sicurezza SSH su Ubuntu 18.04