SSH-ключи
SSH-ключи позволяют входить на сервер без пароля. Пара ключей состоит из закрытого ключа, который остается на вашем компьютере, и открытого ключа, который копируется в файл ~/.ssh/authorized_keys на сервере. Ключи создаются с помощью ssh-keygen, входящего в состав OpenSSH.
1Типы ключей
Ключи Ed25519 короткие, быстрые и поддерживаются всеми современными версиями OpenSSH; команда ssh-keygen -t ed25519 создает такой ключ. Ключи RSA по-прежнему поддерживаются для старых систем и должны иметь размер не менее 3072 бит.
2Парольная фраза и агент
Парольная фраза шифрует закрытый ключ на диске, поэтому украденный файл нельзя использовать отдельно. ssh-agent хранит разблокированный ключ в памяти, поэтому парольную фразу нужно вводить один раз за сеанс.
3Права доступа
OpenSSH отклоняет ключи, файлы которых имеют слишком открытые права доступа. Закрытый ключ должен быть доступен для чтения только его владельцу (600), а файлы ~/.ssh и authorized_keys на сервере не должны быть доступны для записи другим пользователям.
Как настроить вход по ключу
- Создайте ключ на своем компьютере:
ssh-keygen -t ed25519 - Примите расположение файла по умолчанию и введите парольную фразу.
- Скопируйте открытый ключ на сервер:
ssh-copy-id user@server - Войдите для проверки:
ssh user@server - Только после того, как ключ заработает, рассмотрите возможность отключения входа по паролю на сервере.
Осторожно
- Никогда не передавайте и не загружайте закрытый ключ (файл без расширения .pub).
- Протестируйте вход по ключу во втором сеансе перед отключением аутентификации по паролю, иначе вы можете потерять доступ к серверу.
Связанные статьи
- Права доступа к файлам: chmod и chownКак работают права на чтение, запись и выполнение в Linux, что означают 755 и 644, а также как безопасно изменять владельца и режим доступа.
- UFW (Uncomplicated Firewall)Как UFW управляет брандмауэром Linux в Ubuntu, как разрешить SSH перед его включением, а также как просматривать и удалять правила.
- rsyncКак rsync копирует и синхронизирует файлы, на что влияет завершающий слэш и как тестировать с помощью --dry-run перед использованием --delete.
Источники
- ssh-keygen(1) manual page (OpenBSD) man.openbsd.org
- sshd(8) manual page, AUTHORIZED_KEYS FILE FORMAT (OpenBSD) man.openbsd.org
Последняя проверка: