Wie starte ich den ssh-agent gleich beim Einloggen auf dem Desktop?
Hallo Liste, ich habe mir ssh mit "passphrase", also Verschlüsselungspasswort eingerichtet, und möchte nun meine ssh-Umgebung weiter automatisieren, so dass ich nicht mehr nach der passphrase gefragt werde, wenn ich denn einen über ssh ein Kommando auf einem externen Rechner ausfüher (oder aber mich dort einlogge). Das ist möglich, indem man im X-Terminal die beiden Befehle: eval `ssh-agent` ssh-add ausführt. Bei ssh-add wird dann die Eingabe des verschlüsselungspasswortes verlangt. Ich möchte nun diese beiden Befehle gleich in meinen profiles (.bashrc, etc...) abarbeiten, sehe da aber das Problem, dass die Passphrase verlangt wird. Meine Frage: wie schaffe ich das? Ist dann der ssh-agent auch wirklich in jedem Terminal verfügbar? Ich möchte maximal einmal beim einloggen nach der Passphrase gefragt werde, und nicht bei jeder Shell (also jedem X-Terminal), welche beim login auf den Desktop-Account gestartet wird. Liebe Grüße Alexander
On Thursday 06 October 2005 08:57, alexander.beck-ratzka wrote:
ich habe mir ssh mit "passphrase", also Verschlüsselungspasswort eingerichtet, und möchte nun meine ssh-Umgebung weiter automatisieren, so dass ich nicht mehr nach der passphrase gefragt werde, wenn ich denn einen über ssh ein Kommando auf einem externen Rechner ausfüher (oder aber mich dort einlogge).
Das ist möglich, indem man im X-Terminal die beiden Befehle:
eval `ssh-agent` ssh-add
ausführt. Bei ssh-add wird dann die Eingabe des verschlüsselungspasswortes verlangt.
Ich möchte nun diese beiden Befehle gleich in meinen profiles (.bashrc, etc...) abarbeiten, sehe da aber das Problem, dass die Passphrase verlangt wird.
Meine Frage: wie schaffe ich das? Ist dann der ssh-agent auch wirklich in jedem Terminal verfügbar? Ich möchte maximal einmal beim einloggen nach der Passphrase gefragt werde, und nicht bei jeder Shell (also jedem X-Terminal), welche beim login auf den Desktop-Account gestartet wird.
Hallo Alexander, um das einmalige Eingeben der Passphrase kommst Du nicht herum. (Es sei denn, Du nimmst eine leere Passphrase, was nicht ratsam ist.) Aber es sollte auch mit der einmaligen Eingabe getan sein. Bei mir ist es so eingerichtet, dass der ssh-agent automatisch gestartet wird und ich nur ein einziges mal 'ssh-add' ausführen muss (und dann meine Passphrase eingebe). Das kann ich in einem beliebigen Terminal tun und muss danach (auch in anderen Terminals) keine Passphrase mehr eingeben. Oder anders gesagt: Von den von Dir genanten Befehlen benutze ich nur den zweiten, der genau das macht, was Du gerne hättest. Die ganze Einrichtung (also das Starten des ssh-agent) war ohne mein Zutun bereits konfiguriert und zwar sowohl unter Suse 9.1 wie auch unter Suse 9.3. Wo das jetzt genau stattfindet, müsste ich noch einmal nachsehen. Aber vielleicht ist das ja bei Dir auch bereits eingerichtet? Welche Suse Version hast Du? Was ich außerdem noch tue, um direkt nach dem Einloggen nach meiner Passphrase gefragt zu werden ist folgendes: Ich arbeite mit KDE und zwar so, dass ich eine bestimmte Session gespeichert habe, in der z.B. schon einige Terminals geöffnet sind. Wenn Du jetzt ein Terminal mit dem Befehl 'konsole -e ssh-add' öffnest und Deine Session speicherst, während das Terminal geöffnet ist, hast Du den Effekt, dass sich immer nach dem Einloggen dieses Terminal öffnet, welches Dich nach Deiner Passphrase fragt und sich dann beendet. Ich hoffe, das hilft Dir. Gruß, Achim
On Thursday 06 October 2005 10:06, Achim Schaefer wrote:
On Thursday 06 October 2005 08:57, alexander.beck-ratzka wrote:
Hallo Alexander,
um das einmalige Eingeben der Passphrase kommst Du nicht herum. (Es sei denn, Du nimmst eine leere Passphrase, was nicht ratsam ist.) Aber es sollte auch mit der einmaligen Eingabe getan sein.
Bei mir ist es so eingerichtet, dass der ssh-agent automatisch gestartet wird und ich nur ein einziges mal 'ssh-add' ausführen muss (und dann meine Passphrase eingebe). Das kann ich in einem beliebigen Terminal tun und muss danach (auch in anderen Terminals) keine Passphrase mehr eingeben.
Oder anders gesagt: Von den von Dir genanten Befehlen benutze ich nur den zweiten, der genau das macht, was Du gerne hättest.
Die ganze Einrichtung (also das Starten des ssh-agent) war ohne mein Zutun bereits konfiguriert und zwar sowohl unter Suse 9.1 wie auch unter Suse 9.3. Wo das jetzt genau stattfindet, müsste ich noch einmal nachsehen. Aber vielleicht ist das ja bei Dir auch bereits eingerichtet? Welche Suse Version hast Du?
Ich habe Fedora - dienstlich!! Also wenn Du nochmal nachsehen könntest, wo was stattfindet, wäre ich Dir dankbar.
Was ich außerdem noch tue, um direkt nach dem Einloggen nach meiner Passphrase gefragt zu werden ist folgendes: Ich arbeite mit KDE und zwar so, dass ich eine bestimmte Session gespeichert habe, in der z.B. schon einige Terminals geöffnet sind. Wenn Du jetzt ein Terminal mit dem Befehl 'konsole -e ssh-add' öffnest und Deine Session speicherst, während das Terminal geöffnet ist, hast Du den Effekt, dass sich immer nach dem Einloggen dieses Terminal öffnet, welches Dich nach Deiner Passphrase fragt und sich dann beendet.
Nun, ich möchte aus einem x-beliebigem Terminal heraus in der Lage sein, einen ssh-Befehl ohne der Frage nach der Passphrase abzusetzen. Ein einziges spezielles Terminal reicht mir nicht. Gruß Alexander
On Thursday 06 October 2005 13:13, alexander.beck-ratzka wrote:
Die ganze Einrichtung (also das Starten des ssh-agent) war ohne mein Zutun bereits konfiguriert und zwar sowohl unter Suse 9.1 wie auch unter Suse 9.3. Wo das jetzt genau stattfindet, müsste ich noch einmal nachsehen. Aber vielleicht ist das ja bei Dir auch bereits eingerichtet? Welche Suse Version hast Du?
Ich habe Fedora - dienstlich!!
Ich auch :-) Mein Fedora ist übrigens in der gleichen Art und Weise konfiguriert wie Suse. Deines vielleicht auch? Hast Du mal probiert einfach nach dem Login 'ssh-add' auszuführen?
Also wenn Du nochmal nachsehen könntest, wo was stattfindet, wäre ich Dir dankbar.
Auf Fedora-3 passiert der Start von ssh-agent in /etc/X11/xinit/xinitrc-common
Was ich außerdem noch tue, um direkt nach dem Einloggen nach meiner Passphrase gefragt zu werden ist folgendes: Ich arbeite mit KDE und zwar so, dass ich eine bestimmte Session gespeichert habe, in der z.B. schon einige Terminals geöffnet sind. Wenn Du jetzt ein Terminal mit dem Befehl 'konsole -e ssh-add' öffnest und Deine Session speicherst, während das Terminal geöffnet ist, hast Du den Effekt, dass sich immer nach dem Einloggen dieses Terminal öffnet, welches Dich nach Deiner Passphrase fragt und sich dann beendet.
Nun, ich möchte aus einem x-beliebigem Terminal heraus in der Lage sein, einen ssh-Befehl ohne der Frage nach der Passphrase abzusetzen. Ein einziges spezielles Terminal reicht mir nicht.
Ich glaube hier haben wir uns missverstanden. Ich verschuche es noch mal zu erklären: Auch ich kann und will aus einem beliebigen Terminal heraus ssh-Befehle ohne Eingabe der Passphrase absetzen. Allerdings erst, nachdem ich ein einziges mal nach dem Login in einem beliebigen (anderen) Terminal den Befehl 'ssh-add' ausgeführt habe. (Dieser fragt meine Passphrase ab und ich muss sie dort ein einziges mal eingeben.) Was ich oben beschrieben habe, dient nur dazu, dass ich noch nicht einmal 'ssh-add' eintippen muss, sondern direkt nach dem Login nach meiner Passphrase gefragt werde. Das (also die Abfrage der Passphrase) passiert dann natürlich in diesem einen speziellen Terminal, aber danach kann ich in jedem beliebigen Terminal ssh-Befehle nutzen. Jedenfalls so lange, bis ich mich wieder auslogge. Gruß, Achim P.S. Ich lese die Liste und brauche daher keine Kopie der Mails.
Hello Achim Schaefer, on Thursday 06 October 2005 15:01, you wrote:
On Thursday 06 October 2005 13:13, alexander.beck-ratzka wrote:
Die ganze Einrichtung (also das Starten des ssh-agent) war ohne mein Zutun bereits konfiguriert und zwar sowohl unter Suse 9.1 wie auch unter Suse 9.3. Wo das jetzt genau stattfindet, müsste ich noch einmal nachsehen. Aber vielleicht ist das ja bei Dir auch bereits eingerichtet? Welche Suse Version hast Du?
Ich habe Fedora - dienstlich!!
Ich auch :-)
Mein Fedora ist übrigens in der gleichen Art und Weise konfiguriert wie Suse. Deines vielleicht auch? Hast Du mal probiert einfach nach dem Login 'ssh-add' auszuführen?
ssh-add -> Could not open a connection to your authentication agent ps -ef | grep ssh root 3115 1 0 15:20 ? 00:00:00 /usr/sbin/sshd
Auf Fedora-3 passiert der Start von ssh-agent in /etc/X11/xinit/xinitrc-common
Ich habe da nur ein xinitrc... und da stehen auch so Zeilen drin wie: ++++++++++++++++++cut here+++++++++++++++++++++ if [ -f $HOME/.Xclients ]; then [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ] && \ exec ssh-agent $HOME/.Xclients || \ exec $HOME/.Xclients elif [ -f /etc/X11/xinit/Xclients ]; then [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ] && \ exec ssh-agent /etc/X11/xinit/Xclients || \ exec /etc/X11/xinit/Xclients else # failsafe settings. Although we should never get here # (we provide fallbacks in Xclients as well) it can't hurt. xclock -geometry 100x100-5+5 & xterm -geometry 80x50-50+150 & if [ -x /usr/bin/netscape -a -f /usr/share/doc/HTML/index.html ]; then netscape /usr/share/doc/HTML/index.html & fi if [ -x /usr/X11R6/bin/fvwm2 ]; then exec fvwm2 else exec twm fi fi ++++++++++++++++++cut here+++++++++++++++++++++ Aber es ist kein ssh-agent da. Kann es daran liegen, dass ich im Runlevel 3 bin und danach startx aufrufe?
Ich glaube hier haben wir uns missverstanden. Ich verschuche es noch mal zu erklären:
Auch ich kann und will aus einem beliebigen Terminal heraus ssh-Befehle ohne Eingabe der Passphrase absetzen. Allerdings erst, nachdem ich ein einziges mal nach dem Login in einem beliebigen (anderen) Terminal den Befehl 'ssh-add' ausgeführt habe. (Dieser fragt meine Passphrase ab und ich muss sie dort ein einziges mal eingeben.)
Was ich oben beschrieben habe, dient nur dazu, dass ich noch nicht einmal 'ssh-add' eintippen muss, sondern direkt nach dem Login nach meiner Passphrase gefragt werde. Das (also die Abfrage der Passphrase) passiert dann natürlich in diesem einen speziellen Terminal, aber danach kann ich in jedem beliebigen Terminal ssh-Befehle nutzen. Jedenfalls so lange, bis ich mich wieder auslogge.
Also wie schon oben erwähnt, er findet den ssh-agent nicht :-( Gruß Alexander
On Thursday 06 October 2005 15:40, alexander.beck-ratzka wrote:
Hast Du mal probiert einfach nach dem Login 'ssh-add' auszuführen?
ssh-add -> Could not open a connection to your authentication agent
ps -ef | grep ssh
root 3115 1 0 15:20 ? 00:00:00 /usr/sbin/sshd
OK. Dann läuft der ssh-agent bei Dir nicht.
Auf Fedora-3 passiert der Start von ssh-agent in /etc/X11/xinit/xinitrc-common
Ich habe da nur ein xinitrc... und da stehen auch so Zeilen drin wie: ++++++++++++++++++cut here+++++++++++++++++++++ if [ -f $HOME/.Xclients ]; then ...
Bei mir steht dort folgendes: # Start up ssh-agent if available and not already running. [ -x /usr/bin/ssh-agent -a -z "$SSH_AGENT_PID" ] && eval $(/usr/bin/ssh-agent -s) Mehr kann ich Dir dazu leider auch nicht sagen, aber vielleicht hilft Dir das.
Aber es ist kein ssh-agent da. Kann es daran liegen, dass ich im Runlevel 3 bin und danach startx aufrufe?
Keine Ahnung. Tut mir leid. Was mir dazu noch einfällt: Bei mir läuft der ssh-agent auch dann, wenn ich mich von außen (über ssh) einlogge oder wenn ich mich auf einer Konsole einlogge. In beiden Fällen muss kein X-Server laufen, aber ob die Situation mit Deiner vergleichbar ist, kann ich nicht sagen. Ansonsten könntest Du das Starten von ssh-agent als User evtl. auch in $HOME/.xinitrc oder $HOME/.xsession versuchen. Nach weiteren Details darfst Du mich aber jetzt nicht mehr fragen. Mein diesbezügliches Wissen habe ich jetzt fast komplett mitgeteilt ;-) Gruß, Achim
Hallo,
On Thu, 6 Oct 2005 08:57:38 +0200
"alexander.beck-ratzka"
[...] eval `ssh-agent` ssh-add [...] Ich möchte nun diese beiden Befehle gleich in meinen profiles (.bashrc, etc...) abarbeiten, sehe da aber das Problem, dass die Passphrase verlangt wird.
Meine Frage: wie schaffe ich das? Ist dann der ssh-agent auch wirklich in jedem Terminal verfügbar? Ich möchte maximal einmal beim einloggen nach der Passphrase gefragt werde, und nicht bei jeder Shell (also jedem X-Terminal), welche beim login auf den Desktop-Account gestartet wird.
Du schreibst später, dass du X immer mit $ startx aufrufst. Da machst du einfach ein $ ssh-agent startx draus (und schreibst dir vielleicht gleich aus Bequemlichkeit alias Sx='ssh-agent startx' in deine .bashrc, dann reicht in Zukunft "Sx") Das reicht, um immer einen Agent zu haben, solange X läuft. Dann musst du dir in deine ~/.xinitrc ODER ~/.xsession noch reinquetschen: xterm -e ssh-add Das sollte reichen. Wenn's hübscher werden soll, musst du mal nach ssh-add und x11-ssh-askpass (oder gtk2-ssh-askpass) suchen und dann stattdessen SSH_ASKPASS=/usr/bin/x11-ssh-askpass ssh-add < /dev/null schreiben. -hwh
participants (3)
-
Achim Schaefer
-
alexander.beck-ratzka
-
Hans-Werner Hilse