Byobu und SSH-Agent


7

byobu kann keine gute Verbindung zum ssh-agent-Socket herstellen. Eigentlich kann ich nur eine Verbindung über ssh-agent herstellen, aber wenn ich versuche, mit dem Agenten eine andere ssh-Verbindung herzustellen, funktioniert das nicht. ich habe es versucht

setenv SSH_AUTH_SOCK `echo $SSH_AUTH_SOCK`

in ~/.byobu/profileaber es hat nicht so gut funktioniert.

Antworten:


8

Ich bin mir nicht sicher, warum Leute versuchen, dies auf der Ebene der Terminal-Multiplexer-Konfiguration zu lösen. Das ist kein Ort dafür, es sei denn, Sie möchten es erneut tun müssen, weil Sie zu tmux, screen usw. gewechselt sind.

Jedes Mal, wenn Sie ein anderes Fenster öffnen, wird Ihre Shell ausgeführt und liest ihre Konfigurationsdateien.

Wenn Sie dies aus Ihrer Shell-Konfigurationsdatei beziehen, wird das Problem für jede von mir verwendete Shell gelöst:

#!/bin/bash
SSH_AGENT_TYPE="ssh"
SSH_AGENT_INFO="${HOME}/.ssh-agent"

source_agent_info() {
  export SSH_AUTH_SOCK=''
  export SSH_AGENT_PID=''

  if [[ -f ${SSH_AGENT_INFO} ]]; then
    source ${SSH_AGENT_INFO}
  fi
}

agent_running() {
  source_agent_info
  proc_file="/proc/${SSH_AGENT_PID}/cmdline"
  if [[ "${SSH_AGENT_PID}" =~ ^[0-9]+$ ]] && \
     stat "${proc_file}" &> /dev/null && \
     grep ssh-agent "${proc_file}" &> /dev/null; then
    return 0
  else
    return 1
  fi
}

run_ssh_agent() {
  ssh-agent 2>&1 | grep -v echo > "${SSH_AGENT_INFO}"
  source_agent_info
}

if ! agent_running; then
  run_ssh_agent
fi

2

Dieses Problem wird in Fehler # 664059 beschrieben und für Byobu-Versionen 3.7 und höher behoben.

Grundsätzlich gibt es eine falsche Annahme, /var/run/screen/S-$USER/die an dem Punkt vorhanden und beschreibbar ist, an dem der SSH-Socket gesetzt werden muss. Also habe ich den Symlink zum SSH-Socket nach verschoben $HOME/.byobu/.ssh-agent.


Ich habe das gleiche Problem in Byobu 5.17, es gibt einen gültigen Link von $ HOME / .byobu / .ssh-Agent zu / tmp / ssh -...
txwikinger

Na ja .. Ich habe alle Fenster getötet und byobu verlassen und nach dem Neustart hat es funktioniert
txwikinger

1

Es gibt einen Fehlerbericht # 616899, der Ihrem Problem ähnlich klingt. Sie schlagen vor, byobu v3.1 herunterzuladen und manuell zu installieren.


0

Ich habe ssh-agent byobualle Umgebungsvariablen gemacht, die leicht übergeben werden.


Ich verstehe nicht, warum ich abgelehnt wurde. Es funktioniert und beantwortet die Frage leicht. Ich habe dies verwendet, um von überall aus eine Verbindung zu mehr als 10 Servern herzustellen. Die komplizierte Antwort dort oben trifft nicht mehr zu. Naja.
Howard Tan

FWIW, als ich das zum ersten Mal versuchte, war es die einzige Lösung, die funktionierte. Aber es scheint nur einmal funktioniert zu haben.
Blutfink
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.