Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:ssh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
Letzte Überarbeitung Beide Seiten, nächste Überarbeitung
admin_grundlagen:ssh [2018/07/13 08:11]
ingo_wichmann [Client]
admin_grundlagen:ssh [2023/12/27 10:47]
ingo_wichmann [mit authorized_keys command]
Zeile 1: Zeile 1:
-**Todo**: anpassen des Unit-Files bei systemd ((als Default werden alle Prozesse einer proc group bei restart oder stop gekillt. Das ist nicht das, was man bei ssh o.ä. will.+====== ssh ====== 
 + 
 +===== ssh in firewalld freischalten ===== 
 + 
 +**Enable firewall rule for ssh.** 
 + 
 +  sudo firewall-cmd --permanent --add-service=ssh 
 +  success 
 + 
 +**Reload firewall rules.** 
 + 
 +  sudo firewall-cmd --reload 
 +  success 
 + 
 +oder Firewall abschalten:​ 
 + 
 +  systemctl stop firewalld.service
  
-Unit-File nach /​etc/​systemd/​system kopieren und KillMode=process rein 
-und das Verhalten ist wie früher. 
  
-Bei vielen Distris ist das Standard-Unit-File mit 
-KillMode=control-group. D.h. man müsste immer und überall bei jeder 
-ssh-Installation diese Änderung machen, wenn man nicht irgendwann ein 
-doofes Problem haben will)) 
-====== ssh ====== 
 ===== Einsatzzwecke von ssh ===== ===== Einsatzzwecke von ssh =====
   * Fernadministration   * Fernadministration
Zeile 27: Zeile 36:
   scp <​Datei>​ <​Benutzer>​@<​Rechner>:/<​Verzeichnis>​   scp <​Datei>​ <​Benutzer>​@<​Rechner>:/<​Verzeichnis>​
 Dateien auf andere Rechner ohne lange Pfadangaben ins $HOME-Verzeichnis von <​Benutzer>​ kopieren: Dateien auf andere Rechner ohne lange Pfadangaben ins $HOME-Verzeichnis von <​Benutzer>​ kopieren:
-  scp <​Datei>​ <​Benutzer>​@<​Rechner>:​<​Verzeichnis>​+  scp <​Datei>​ <​Benutzer>​@<​Rechner>:​
  
 +====== Syntax sshd prüfen ======
 +Vor dem Neustart des Dienstes die Konfigurationsdatei auf Syntaxfehler prüfen:
 +  sshd -t
 +oder ausführlicher:​
 +  sshd -dddt
 ====== Server Keys ====== ====== Server Keys ======
 ===== Fingerprint Hostkey überprüfen ===== ===== Fingerprint Hostkey überprüfen =====
-  ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub+  ssh-keygen -l -f /etc/ssh/ssh_host_ed25519_key.pub
  
 ===== Server Key aus known_hosts entfernen ===== ===== Server Key aus known_hosts entfernen =====
 +Name und IP-Adresse aus known_hosts entfernen:
 +
   ssh-keygen -R notebook02   ssh-keygen -R notebook02
   ssh-keygen -R 192.168.1.202   ssh-keygen -R 192.168.1.202
  
 ===== Server Keys neu erzeugen ===== ===== Server Keys neu erzeugen =====
-=== Debian ===+löschen:
   rm /​etc/​ssh/​ssh_host_*key*   rm /​etc/​ssh/​ssh_host_*key*
 +=== Debian ===
   dpkg-reconfigure openssh-server   dpkg-reconfigure openssh-server
 +=== SuSE / RedHat ===
 +  service sshd restart
  
 ====== Public-Private-Key Authentifizierung ====== ====== Public-Private-Key Authentifizierung ======
Zeile 50: Zeile 69:
  
 ===== Public-Key auf anderen Rechner übertragen ===== ===== Public-Key auf anderen Rechner übertragen =====
-  ssh-copy-id -i .ssh/id_rsa.pub nutzer05@notebook06+  ssh-copy-id -i .ssh/id_ed25519.pub nutzer05@notebook06
 oder von Hand: oder von Hand:
   ssh nutzer05@notebook06 'mkdir -m 700 ~/​.ssh'​   ssh nutzer05@notebook06 'mkdir -m 700 ~/​.ssh'​
-  ssh nutzer05@notebook06 'cat >> .ssh/​authorized_keys'​ < ~/.ssh/id_rsa.pub +  ssh nutzer05@notebook06 'cat >> .ssh/​authorized_keys'​ < ~/.ssh/id_ed25519.pub 
-  ssh nutzer05@notebook06 '​chmod ​400 .ssh/​authorized_keys'​+  ssh nutzer05@notebook06 '​chmod ​600 .ssh/​authorized_keys'​
  
 ===== Serverseitig Passwortauthentifizierung abschalten ===== ===== Serverseitig Passwortauthentifizierung abschalten =====
Zeile 72: Zeile 91:
 ===== ssh-agent ===== ===== ssh-agent =====
 Schlüssel dem ''​ssh-agent''​ hinzufügen:​ Schlüssel dem ''​ssh-agent''​ hinzufügen:​
-  ssh-add .ssh/id_dsa+  ssh-add .ssh/id_rsa
  
 ((Bei openSuSE 11.0 wird der ''​ssh-agent''​ bei der Anmeldung nur gestartet, wenn das Verzeichnis ''​~/​.ssh''​ existiert: ((Bei openSuSE 11.0 wird der ''​ssh-agent''​ bei der Anmeldung nur gestartet, wenn das Verzeichnis ''​~/​.ssh''​ existiert:
Zeile 83: Zeile 102:
 ===== Nutzer Zugriff beschränken ===== ===== Nutzer Zugriff beschränken =====
 ==== mit authorized_keys command ==== ==== mit authorized_keys command ====
-//Problem: die Datei ''​~/​.ssh/​authorized_keys''​ gehört dem Nutzer, den man einschränken möchte. //+//Problem: die Datei ''​~/​.ssh/​authorized_keys''​ gehört dem Nutzer, den man einschränken möchte. ​Mögliche Lösung: AuthorizedKeysFile,​ AuthorizedKeysCommand und AuthorizedKeysCommandUser ​//
  
 <file txt ~/​.ssh/​authorized_keys>​ <file txt ~/​.ssh/​authorized_keys>​
-command="/​usr/​bin/​who"​,​no-agent-forwanding,​no-X11-forwarding,​no-port-forwarding ​ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHBqUtiLsRTLKquoVXKwhrPRD92CzaN9EOkVEfWoHfdC nutzer26@notebook26+restrict,command="/​usr/​bin/​who"​ ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHBqUtiLsRTLKquoVXKwhrPRD92CzaN9EOkVEfWoHfdC nutzer26@notebook26
 </​file>​ </​file>​
 ==== mit Match ==== ==== mit Match ====
Zeile 161: Zeile 180:
 </​file>​ </​file>​
  
 +<file txt ~/​.ssh/​authorized_keys>​
 +restrict,​port-forwarding ssh-rsa AAAAB3NzaC1yc2EAXXXXXXXXXXXXXXXXXXXXXXXXX
 +</​file>​
 ===== Agent-Forwarding nutzen ===== ===== Agent-Forwarding nutzen =====
   ssh -A notebook17   ssh -A notebook17
admin_grundlagen/ssh.txt · Zuletzt geändert: 2024/03/01 14:17 von ingo_wichmann