GNU/Linux >> Znalost Linux >  >> Linux

Jak předat již předaný klíč Ssh do Tmux?

Připojuji se přes SSH ze stroje, kde jsou mé klíče uloženy, přesměrovávám je na druhý počítač a pak se snažím použít klíče z tmux. Zdá se, že při zadávání tmux „ztrácím“ předávání. Jak mohu „znovu přeposlat“, abych mohl používat své klíče z 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)

Přijatá odpověď:

Pokud připojujete již existující relaci tmux, shell nedědí proměnné prostředí z vašeho přihlašovacího shellu. Zejména nedědí proměnné prostředí agenta ssh.

Zkuste tuto opravu:

  1. Vytvořte tento skript a vložte jej do $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. Přidejte jej do spouštěcího skriptu shellu. Pokud například používáte bash:

    echo '. ~/.ssh/saveagent' >> ~/.bash_login
    
  3. Po připojení tmux spusťte . $HOME/.ssh/latestagent


Linux
  1. Jak nastavit SSH přihlášení bez hesla

  2. Jak nakonfigurovat ověřování na základě klíče SSH v systému Linux

  3. Jak scp zpět na místní, když jsem již sshed na vzdálený počítač?

  1. Jak vygenerovat pár klíčů SSH (s příklady)

  2. Jak nastavit klíče SSH

  3. Jak SSH do konkrétního adresáře?

  1. Jak SSH do kontejneru Docker

  2. Jak nastavit klíče SSH na Ubuntu 18.04

  3. Jak nastavit ssh tunel pro předávání ssh?