Komfortabel arbeiten mit SSH

  • Impressum
  • Administration
  • Kontaktformular
  • Jabber
  • Tagcloud
  • Twitter
  • Soup
  • Github

roothausen

Komfortabel arbeiten mit SSH

14:22

Sunday, December 17. 2006

Aus diesem Thread sind ein paar interessante Funktionen und Lösungsvorschläge zur sicheren und Komfortablen Verwendung von OpenSSH hervorgegangen.

Zuerst kann man in der ~/.ssh/config Optionen fuer bestimmte Server definieren:

Host Foo
  HostName foo.domain.org
  User foobar
  Port 2222
Host Bar
  HostName bar.otherdomain.org
  User baron
  Port 3333
  ForwardAgent yes
  IdentityFile ~/.ssh/id_bar

Weitere Optionen gibt es hier oder mit "man ssh_config"

Nun kann man mit "ssh Foo" oder "ssh Bar" direkt die Verbindung aufbauen ohne fuer jeden die kompletten Optionen angeben zu müssen. Wenn man per SSH auf vielen unterschiedlichen Rechnern unterwegs ist, wird man diese Funktionalität zu schätzen lernen.

Um dies per Autovervollständigung in der ZSH zu nutzen, genügt folgendes in der Config:

hosts=(`cat $HOME/.ssh/config | egrep '^Host.*' | sed "s/^Host[ ]*\(.*\)$/\1/"`)
zstyle '*' hosts $hosts

Um die Vorzüge von OpenSSH voll auszunutzen, sollte man mit Public-Keys arbeiten und den passenden Private-Key mit einer Passphrease sichern. Wie das geht, kann man hier nachlesen.

Damit man die Passphrase nicht bei jeder SSH-Session neu eingeben muss, ist der Key-Agent zu empfehlen. Ein kleines Script, dass automatisiert den Key-Agent startet funktioniert auch super:

function prepare_ssh {
  if [[ -z $SSH_AUTH_SOCK ]]; then
    eval `ssh-agent`
  fi
  NEEDEDID=`cat ~/.ssh/id_rsa.pub | cut -d' ' -f1-2`
  HAVEID=`ssh-add -L | cut -d' ' -f1-2`
  echo "$HAVEID" | grep "$NEEDEDID" > /dev/null
  if [[ ! $? -eq 0 ]];then
    ssh-add
  fi
  unset NEEDEDID
  unset HAVEID
}

Nun kann man mit "prepare_ssh" den Key-Agent starten und muss nur noch beim Starten des Scripts die Passphrase eingeben.

Zum Schluss muessen wir noch dem Server beibringen, dass er unser Keyfile akzeptieren soll. Normalerweise verwendet man hierzu den Befehl ssh-copy-id. Aug Systemen, auf denen dieser Befehl nicht verfügbar ist, gibt ist hier ein Script, welches diese Funktionalität nachrüstet:

function putsshkey {
  cat ~/.ssh/id_rsa.pub | ssh $1 "mkdir -p ~/.ssh; \
  chmod 700 ~/.ssh; \
  cat - >>~/.ssh/authorized_keys; \
  chmod 600 ~/.ssh/authorized_keys"
}

Hiermit kann man seinen Public-Key mit "putsshkey user@host" einfach übertragen.

Ich arbeite hier mit einem RSA-Key. Falls ein DSA-Key verwendet wird, sollte man den Dateinamen anpassen. Also ~/.ssh/id_rsa.pub duch ~/.ssh/id_dsa.pub ersetzen.

Posted by admin in computer | Comments (0) | Trackbacks (0)
Defined tags for this entry: computer, howto, linux&unix, opensource, security, software
Related entries by tags:
  • Mobile devices or: How I Learned to Stop Worrying and Love the iOS
  • The VP8 Video Codec
  • My Bachelor Thesis: Scale the realtime web
  • Distributed contact management using HTTP
  • Gesichtserkennung/Eigenfaces
< Code highlighting mit Wordpress | Zum Thema Killerspiele >

Trackbacks
Trackback specific URI for this entry

No Trackbacks

Comments
Display comments as (Linear | Threaded)

No comments

Add Comment

Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

You can use [geshi lang=lang_name [,ln={y|n}]][/geshi] tags to embed source code snippets.
Markdown format allowed
 
 

JavaScript String .fromCharCode

Calendar

« May '12 »
Mo Tu We Th Fr Sa Su
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Quicksearch

Kategorien

  • XML computer
  • XML misc
  • XML web
  • XML zeitgeist


All categories

Archiv

  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • Recent...
  • Older...

Feeds

  • XML RSS 2.0 feed
  • ATOM/XML ATOM 1.0 feed
  • XML RSS 2.0 Comments

Links

Retinacast
Shackspace
Yaxim
Radio Tux
Kais Blog
Blumen Pfleiderer
Alk
paxos
filzo
Marc Seeger
polzifer
Moritz Haarmann

Tags

android bad world blog blogging browser changes code comic computer contentmanagement encryption feedreader firefox free fun google gui hardware howto html im jabber java life lighttpd linux linux&unix markup media misc mobile murphy networking newsbeuter opensource picture politics presentation privacy programming regular expression rss ruby s9y scala screenshot sdk security server shortys software stuff tail -f /var/log/life test tool tv unix video web webdesign webwide windows xml zeitgeist

Lizenz

Creative Commons License - Some Rights Reserved