Ssh schnelleinstieg: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 75: | Zeile 75: | ||
==Login testen== | ==Login testen== | ||
*ssh harald@rechner | *ssh harald@rechner | ||
| + | = SSH Tunnel (Port Forwarding) = | ||
| + | -f lässt den Prozess im Hintergrund laufen | ||
| + | -g erlaubt remoteusern den lokal geöffneten ssh tunnel zu benutzen | ||
| + | -p gibt den Port an über den sich SSH verbinden soll | ||
| + | -N ist eine nützliche Option um das öffnen einer remoteshell zu unterbinden | ||
| + | |||
| + | -R leitet den Port vom remoteserver auf localhost weiter | ||
| + | -L leitet den Port von localhost auf remoteserver weiter | ||
| + | Format [bind_address:]port:host:hostport | ||
| + | Wenn keine [bind_address:] angegeben wird localhost eingesetzt | ||
| + | |||
| + | ssh -p '''''SERVERPORT''''' -f -g -N -l '''''USER''''' '''''SSHSERVER''''' -L '''''BINDADDRESS''''':'''''LOCALPORT''''':'''''ZIEL''''':'''''ZIELPORT''''' | ||
| + | |||
| + | Alles was auf '''''BINDADDRESS''''' port '''''LOCALPORT''''' ankommt schicke durch tunnel zu '''''ZIEL''''' port '''''ZIELPORT''''' | ||
| + | |||
| + | Beispiele: | ||
| + | |||
| + | *Umleiten von Jdownloader von bob aus | ||
| + | **alice port 9666 ---> bob port 9666 | ||
| + | root@bob:~# ssh -f -N alice -l root -L 9666:localhost:9666 | ||
| + | |||
| + | |||
| + | [[Datei:alice zu bob.dia]] | ||
| + | *Umleiten von Samba von charlie aus | ||
| + | **donald port 139 ---> charlie port 139 | ||
| + | ssh -p 9387 -f -g -N ''SSHSERVER'' -L 139:''ZIEL'':139 | ||
| + | |||
| + | |||
| + | [[Datei:bob zu alice.dia]] | ||
| + | *Umleiten von Jdownloader Linkgrabber von alice aus | ||
| + | **bob port 9666 ---> alice port 9666 | ||
| + | root@alice:~# ssh -f -N ''bob'' -R localhost:9666:localhost:9666 | ||
| + | *Umleiten vom Remote Host noezel auf localhost | ||
| + | ssh -f -N noezel -l root -R 88:localhost:22 | ||
Version vom 21. November 2019, 21:18 Uhr
Verbindungsaufbau vereinfacht
Server
Installation
- apt-get install ssh
Konfig Verzeichnis
/etc/ssh
Konfigurationsdatei
Beispiel
- cat /etc/ssh/sshd
Port 22 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key PermitRootLogin prohibit-password ChallengeResponseAuthentication no UsePAM yes X11Forwarding yes PrintMotd no AcceptEnv LANG LC_* Subsystem sftp /usr/lib/openssh/sftp-server PasswordAuthentication yes
start,stop,restart,status
- systemctl start ssh
- systemctl stop ssh
- systemctl status ssh
- systemctl restart ssh
Client
Konfigurations Verzeichnis
/etc/ssh
Heimat Verzeichnis
~/.ssh
remote login
- ssh harald@rechner
- ssh -l harald rechner
- ssh -p 22 -l harald rechner
Ausführen eines Programs auf einem anderem Rechner
- ssh harald@rechner date
- ssh harald@rechner pwd
- ssh harald@rechner ls -l
Secure copy
local to remote
file
- scp /etc/hosts harald@rechner:/tmp
directory
- scp -r /bin harald@rechner:/tmp
Schlüsselpaar erstellen
- ssh-keygen
Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:EuZ8a0Ovlq5ZdXXOsUUMH2pPT3NzD8k8bbfXkjq9nsg root@unaris The key's randomart image is: +---[RSA 2048]----+ | .+.| | o.=o| | o oB=@| | + . ..oX#| | + S . . o+B| | + + . o ..| | =.. o . | | +oo . o o | | o+o E.+ | +----[SHA256]-----+
Key zum Zielrechner übertragen
- ssh-copy-id harald@rechner
Login testen
- ssh harald@rechner
SSH Tunnel (Port Forwarding)
-f lässt den Prozess im Hintergrund laufen -g erlaubt remoteusern den lokal geöffneten ssh tunnel zu benutzen -p gibt den Port an über den sich SSH verbinden soll -N ist eine nützliche Option um das öffnen einer remoteshell zu unterbinden
-R leitet den Port vom remoteserver auf localhost weiter
-L leitet den Port von localhost auf remoteserver weiter
Format [bind_address:]port:host:hostport
Wenn keine [bind_address:] angegeben wird localhost eingesetzt
ssh -p SERVERPORT -f -g -N -l USER SSHSERVER -L BINDADDRESS:LOCALPORT:ZIEL:ZIELPORT
Alles was auf BINDADDRESS port LOCALPORT ankommt schicke durch tunnel zu ZIEL port ZIELPORT
Beispiele:
- Umleiten von Jdownloader von bob aus
- alice port 9666 ---> bob port 9666
root@bob:~# ssh -f -N alice -l root -L 9666:localhost:9666
- Umleiten von Samba von charlie aus
- donald port 139 ---> charlie port 139
ssh -p 9387 -f -g -N SSHSERVER -L 139:ZIEL:139
- Umleiten von Jdownloader Linkgrabber von alice aus
- bob port 9666 ---> alice port 9666
root@alice:~# ssh -f -N bob -R localhost:9666:localhost:9666
- Umleiten vom Remote Host noezel auf localhost
ssh -f -N noezel -l root -R 88:localhost:22
