abe@noone.org
http://noone.org/abe/
Mit SSH-Schlüsseln arbeiten
ssh-keygen
(Nur in Ausnahmen ohne Passphrase!)ssh-copy-id
(schreibt Key(s) in ~/.ssh/authorized_keys
)eval `ssh-agent`
(GNOME Keyring funktioniert auch. Kann auch bereits durch Xsession gestartet worden sein.)ssh-add
ssh-add -L
(List)ssh anderer.rechner -t -A ssh-add
(Schlüssel von anderem Rechner in den Key-Agent laden.Mit dem SSH-Agent arbeiten
ssh-add -x
(Lock)ssh-add -X
(Unlock)ssh-add -A
(Forward Agent)ssh-add -a
(Don't forward Agent)Dateien mit SSH übertragen
$ scp datei meinkonto@rechner:verzeichnis/ datei 100% 337 0.3KB/s 00:00
$ sftp meinkonto@rechner Connecting to rechner... sftp> ls datei1 datei2 sftp> get datei1 Fetching /home/meinkonto/datei1 to datei1 /home/abe/datei1 100% 337 0.3KB/s 00:00 sftp> lls datei1 datei3 sftp> put datei3 Uploading datei3 to /home/meinkonto/datei3 datei3 100% 65 0.1KB/s 00:00 sftp> quit
$EDITOR ~/.ssh/config
Host * ForwardX11Trusted yes HashKnownHosts no NoHostAuthenticationForLocalhost yes Host sym HostName symlink.to.noone.org ForwardAgent yes Host sf Hostname shell.sourceforge.net User xtaran Host avaya StrictHostKeyChecking no UserKnownHostsFile /dev/null
rsh
auf.rsh
oft symbolischer Link auf ssh
falls rsh nicht installiertset tunnel="ssh -q imap.example.org /etc/rimapd"
)inbox-path={imap.example.org/user=meinkonto/secure}INBOX folder-collections=Mail {imap.example.org/user=meinkonto/secure}[] rsh-open-timeout=0 ssh-path=/usr/bin/ssh
ssh
kann automatisch den passenden Tunnel einrichten und $DISPLAY
passend setzen.-X
oder ForwardX11 yes
-Y
oder ForwardX11Trusted yes
(Details in ssh_config(5)
)-x
oder ForwardX11 no
-g
zu freischalten des Zugriffs von überall.ssh -L 8080:proxy:8080 heimrouter
(Proxy zuhause von außen nutzen)ssh -R 8000:localhost:8001 firmenrechner
(Firmenrechner Zugriff auf lokalen Webserver geben)ssh -R 8000:localhost:8001 -g firmenrechner
(Allen Firmenrechnern Zugriff auf lokalen Webserver geben)ssh als SOCKS-Proxy nutzen
ssh -D 1080 rechner
und
localhost:1080
als SOCKS-Proxy in Browser,
E-Mail-Programm, sonstigem Programm oder mit tsocks
angeben<Enter>~
passiert nix?~~
ergibt eine Tilde~.
beendet die Verbindung sofort~<Ctrl-Z>
stoppt die SSH (Wieder weiterlaufen lassen: fg
)~&
schiebt die SSH in den Hintergrund nach Ausloggen falls noch Tunnel genutzt werden.~?
zeigt die HilfeGNU Screen erlaubt u.a. Shells und andere Text-Mode-Programme (z.B. mutt, irssi, centericq, mcabber) auf anderen Rechnern weiterlaufen zu lassen ohne die ssh-Verbindung dorthin permanent offen zu halten.
screen
screen irssi
<Ctrl-A><Ctrl-D>
screen -r
screen -r -d
screen -x
autossh -t rechner 'screen -RD'
und man hat sofort eine Shell, sobald die Verbindung wieder steht.sshfs rechner:/home/meinkonto home-auf-rechner
cd home-auf-rechner
command="blafasel" ssh-rsa AAAAB3Nza...
führt bei jedem Login mit diesem Schlüssel "blafasel" ausfrom="rechner" ssh-rsa AAAAB3Nza...
erlaubt Zugriff mit diesem Schlüssel nur von "rechner" aus.no-{agent,port,X11}-forwarding ssh-rsa AAAAB3Nza...
verbietet div. Weiterleiten.no-pty ssh-rsa AAAAB3Nza...
verbietet Pseudo-Terminals.no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="~/sync
</dev/null >/dev/null 2>&1 &" ssh-rsa AAAAB3Nza...