Rain WikiWindows · Linux · Android

SSH-ключи

ПонятиеOpenSSHБезопасно удалять: Нет

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 на сервере не должны быть доступны для записи другим пользователям.

Как настроить вход по ключу

  1. Создайте ключ на своем компьютере: ssh-keygen -t ed25519
  2. Примите расположение файла по умолчанию и введите парольную фразу.
  3. Скопируйте открытый ключ на сервер: ssh-copy-id user@server
  4. Войдите для проверки: ssh user@server
  5. Только после того, как ключ заработает, рассмотрите возможность отключения входа по паролю на сервере.

Осторожно

  • Никогда не передавайте и не загружайте закрытый ключ (файл без расширения .pub).
  • Протестируйте вход по ключу во втором сеансе перед отключением аутентификации по паролю, иначе вы можете потерять доступ к серверу.

Источники

  1. ssh-keygen(1) manual page (OpenBSD) man.openbsd.org
  2. sshd(8) manual page, AUTHORIZED_KEYS FILE FORMAT (OpenBSD) man.openbsd.org

Последняя проверка: