SSH#
✓ |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
✓ |
This guide explains how to prepare your SSH server and client for use with the Nitrokey. For configuring PuTTY, see this guide:
В Nitrokey вече трябва да са инсталирани PGP ключове, а местният набор от ключове GnuPG трябва да знае ключовете.
Подготовка на клиента#
Уверете се, че ~/.gnupg/gpg.conf съдържа ‚use-agent‘
Добавете поддръжка на ssh към gnupg-агента, като добавите ‚enable-ssh-support‘ в ~/.gnupg/gpg-agent.conf
Ако файлът все още не съществува, можете просто да го създадете.
Добавете следния код някъде във вашия ~/.bashrc (за fish shell, потърсете тук)
unset SSH_AGENT_PID
if [ "${gnupg_SSH_AUTH_SOCK_by:-0}" -ne $$ ]; then
export SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
fi
Просто рестартирайте системата си или опитайте
pkill gpg-agent
и отворете нов команден ред, за да се уверите, че всичко е зададеноВ случай на проблеми, моля, опитайте
gpg2 --card-status
при първото използване, за да се уверите, че gpg-агентът се стартира
Подготовка за сървъра#
Можете да генерирате файла authorized_keys, като стартирате
gpg2 --export-ssh-key keyID >> ~/authorized_keys
където
keyID
е идентификаторът на подключ, който се използва за удостоверяване на вашия Nitrokey. Ключът Nitrokey вече трябва да е известен на местния набор от ключове GnuPG. Сега можете да добавите този файл към authorized_keys на отдалечен сървър’и когато ssh към сървъра, ще бъдете попитани за pin, а не за парола.
Отстраняване на неизправности#
Ако все още ви се иска парола, уверете се, че
echo $SSH_AUTH_SOCK
връща нещо като ‚/run/user/1000/gnupg/S.gpg-agent.ssh‘ или ‚/home/username/.gnupg/.S.gpg-agent.ssh‘. За съжаление, в миналото в GnuPG имаше някои промени, така че действителното съдържание може да се различава в зависимост от системата и версията на GnuPG. При някои системи може да има дори няколко папки в тази запазена променлива. Трябва да адаптирате дадения по-горе код в .bashrc, така че променливата SSH_AUTH_SOCK да е правилна. При съмнение потърсете ‚SSH_AUTH_SOCK‘ в
man gpg-agent
за да намерите действителния код за вашата версия/система.
Можете да проверите дали имате инсталирана програма ‚pinentry‘ чрез вашия мениджър на пакети. Може да се наложи да зададете и в gpg-agent.conf. Може да се наложи да насочите gpg-agent към правилния TTY.