Skip to main content

Einrichtung eines sicheren SSH-Zugangs für Proxmox und LXC

TheDas goalZiel isist toes, establishein aeinheitliches, consistent,schlüsselbasiertes key-basedAuthentifizierungsmodell authenticationsowohl modelfür acrossden bothProxmox-Host theals Proxmoxauch hostfür andseine itsContainer containers:aufzubauen:

  • nokeine SSH root loginSSH-Root-Anmeldung
  • nokeine password authenticationPasswortauthentifizierung
  • accessZugriff onlynur throughüber aneinen admin-Benutzer usermit witheinem an SSH keySSH-Schlüssel
  • convenientbequemer accessZugriff viaüber SSHdie configurationSSH-Konfiguration

ThisDieser approachAnsatz reducesreduziert attackdie surfaceAngriffsfläche andund improvesmacht manageability.alles deutlich einfacher zu verwalten.


PartTeil 1: PrepareBereite Yourdeinen Locallokalen MachineRechner vor

GenerateGeneriere anein SSH key pairSSH-Schlüsselpaar

IfFalls notdu alreadynoch available:keins hast:

ssh-keygen -t ed25519 -C "admin"

StoreSpeichere ites securely,sicher, forzum example:Beispiel hier:

/home/username/deinname/.ssh/admin_key

Optional: AddFüge theden keySchlüssel tozum theAgenten agenthinzu

IfWenn theder keySchlüssel haseine aPassphrase passphrase:hat:

ssh-add /home/username/deinname/.ssh/admin_key

PartTeil 2: SecureSichere theden Proxmox Proxmox-Host

CreateErstelle aneinen administrative userAdministratorbenutzer

OnAuf thedem Proxmox hostProxmox-Host (webüber shellWeb-Shell oroder SSH):

adduser admin
usermod -aG sudo admin

DeployStelle yourden SSHSSH-Schlüssel keybereit

ssh-copy-id -i /home/username/deinname/.ssh/admin_key.pub admin@<Proxmox-hostnameHostname>

TestTeste access:den Zugriff:

ssh -i /home/username/deinname/.ssh/admin_key admin@<Proxmox-hostnameHostname>

DisableDeaktiviere insecuredie authenticationunsicheren Authentifizierungsmethoden

EditBearbeite /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes

ApplyWende changes:die Änderungen an:

systemctl restart sshd

TheDer hostHost nowakzeptiert acceptsjetzt onlynur key-basednoch loginsschlüsselbasierte forAnmeldungen für den admin.-Benutzer.


PartTeil 3: SecureSichere LXCdeine ContainersLXC-Container

ManyViele templatesVorlagen allowerlauben SSHSSH-Zugriff accessals asRoot root, sometimesteilweise withsogar passwords.mit ApplyPasswort. theWende samedieselben hardeningSicherheitsmaßnahmen insidein eachjedem container.Container an.

CreateErstelle aneinen administrative userAdministratorbenutzer

AccessGehe thein container:den Container:

pct enter <CTID>

CreateLege theden userBenutzer andan grantund sudogib access:ihm sudo-Rechte:

adduser admin
usermod -aG sudo admin

DeployStelle yourdeinen keySchlüssel toim theContainer containerbereit

OnAuf yourdeinem locallokalen machine:Rechner:

ssh-copy-id -i /home/username/deinname/.ssh/admin_key.pub admin@<lxc-ip-or-oder-hostname>

Test:Teste:

ssh admin@<lxc-ip-or-oder-hostname>

DisableDeaktiviere insecuredie authenticationunsicheren insideMethoden theim containerContainer

EditBearbeite /etc/ssh/sshd_config:

PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
PubkeyAuthentication yes

Restart:Starte neu:

sudo systemctl restart sshd

TheDer containerContainer nowhat mirrorsjetzt theexakt securitydieselbe postureSicherheitsstufe ofwie theder host.Host.


PartTeil 4: LocalMach SSHdir Conveniencedas ConfigurationLeben mit der lokalen SSH-Konfiguration leichter

ToErstelle simplifyoder access,bearbeite createdie or edit:Datei:

~/.ssh/config

Example:Beispiel-Inhalt:

Host proxmox
    HostName <Proxmox-hostnameHostname>
    User admin
    IdentityFile /home/username/deinname/.ssh/admin_key

Host lxc-admin
    HostName <lxc-ip-or-oder-hostname>
    User admin
    IdentityFile /home/username/deinname/.ssh/admin_key

ProtectSchütze thedie file:Datei:

chmod 600 ~/.ssh/config

NowAb youjetzt can connect with:reicht:

ssh proxmox
ssh lxc-admin

ResultErgebnis

  • ProxmoxProxmox-Host hostund andalle containersContainer usenutzen thedieselbe samesichere secure login methodAnmeldemethode.
  • rootRoot-Login loginist disabledüberall everywheredeaktiviert.
  • passwordPasswort-Authentifizierung authenticationist disabledüberall aus.
  • oneEin keyeinziger andSchlüssel one+ userein foreinziger administrativeBenutzer access(admin) für den administrativen Zugriff.
  • simpleSuper hosteinfache selectionVerbindung throughüber SSHsprechende configurationHost-Namen in der SSH-Konfiguration.