Rss

  • linkedin

Använd SSH tillsammans med krypterad hemkatalog i Ubuntu

Eftersom man normalt inte tillåter lösenord via SSH utan kräver certifikat så finns det en begränsning i standardinstallationen i Ubuntu som gör det omöjligt att logga in om man har en krypterad hemkatalog. Detta är på grund av att authorized_keys ligger under /home/<användarnamn>/.ssh/ vilket ligger den krypterade hemkatalogen och är därför inte åtkomligt innan man har loggat in. Problemet är just att man inte är inloggad och därför är inte hemkatalogen dekrypterad när sshd behöver läsa filens innehåll för att avgöra om din privata nyckel tillhör den publika nyckeln.

Om man har detta problem borde likande rader i /var/log/auth.log finnas för varje misslyckat inloggningsförsök:

Jan 11 20:55:25 server su[28291]: pam_sm_authenticate: Called
Jan 11 20:55:25 server su[28291]: pam_sm_authenticate: username = [<användarnamn>]
Jan 11 20:55:25 server su[28292]: Passphrase file wrapped
Jan 11 20:55:27 server su[28292]: Error attempting to add filename encryption key to user session keyring; rc = [1]

Lösningen är som tur är väldigt enkel

Skapa först en ny katalog som du döper till /etc/ssh-public-keys/<användarnamn>/

sudo mkdir /etc/ssh-public-keys/johan

Flytta authorized_keys till /etc/ssh-public-keys/<användarnamn>/

sudo mv ~/.ssh/authorized_keys /etc/ssh-public-keys/johan/

Redigera /etc/ssh/sshd_config

sudo nano /etc/ssh/sshd_config

Ändra AuthorizedKeysFile till

AuthorizedKeysFile /etc/ssh-public-keys/%u/authorized_keys

Starta sedan om sshd för att förändringen skall ta

sudo service ssh restart

–  Johan Ryberg

Leave a Reply

Your email address will not be published. Required fields are marked *