Benutzer-Werkzeuge

Webseiten-Werkzeuge


ssh

SSH (Secure Shell) stellt verschlüsselte Remoteverbindungen her. Port 22 ist für SSH reserviert.

# display ssh banner
vi /etc/banner.txt
 
# execute command remotely
ssh -user host 'hostname; pwd'
 
# execute script remotely
ssh -l user host 'bash -s' < script.sh
 
# copy script to remote machine
scp script.sh root@192.168.0.1:/tmp
 
# Jumphost, connect to 20.30.40.50 and jump to 192.168.0.2
ssh -J user@20.30.40.50 user@192.168.0.2
ssh user@host
 
// Custom Hostkeyalgorythmus, Key Exchange Algorythmus, Cipher
ssh -oHostKeyAlgorithms=+ssh-dss -oKexAlgorithms=+diffie-hellman-group1-sha1 -c aes-256-cbc user@host

Server Keys

Beim Verbinden mit dem Server unter Benutzung des SSH-Keys überprüft der Server, ob der Client-Key gültig ist und lässt den Client dann entsprechend einloggen. Somit werden Passwörter zum Verbinden via SSH nicht mehr benötigt.

ssh-keygen -t ed25519 -C "TestInc"
ssh-copy-id -i ~/.ssh/TestInc.pub user@host
ssh -i ~/.ssh/TestInc user@host
 
ssh -l <user> 1.2.3.4
ssh -p <port> 1.2.3.4

Jump Host

Forwarding

In der sshd_config:

Match User testuser
    AllowTcpForwarding yes
    PermitTunnel no
    PermitTTY no
    X11Forwarding no
    ForceCommand echo "Das ist ein Jump Host, kein direkter auf diesem System Login möglich."

User meldet sich an mit:

ssh -J testuser@jump-host root@internal-host

Host Key

Für den User ein Keypair erstellen.

sudo -u testuser ssh-keygen -t rsa -b 4096 -f /home/testuser/.ssh/id_rsa

In der sshd_config:

Match User testuser
    AllowTcpForwarding no
    PermitTunnel no
    PermitTTY yes
    X11Forwarding no
    ForceCommand /usr/bin/ssh -i /home/testuser/.ssh/id_rsa -o StrictHostKeyChecking=no root@internal-host

User meldet sich ganz normal an:

ssh testuser@jump-host
ssh.txt · Zuletzt geändert: 2025/06/17 15:24 von admin