Hetzner - DokuWiki

Backup Space SSH Keys/ru

Inhaltsverzeichnis

Аутентификация по SSH-ключу на Storage Box и Backup Space

При использовании SCP, SFTP, rsync или BorgBackup можно войти в систему с использованием SSH-ключа без ввода пароля.

Важное примечание: в зависимости от SSH-порта на Backup Space/Storage Box может понадобиться использовать определенный формат публичного SSH-ключ. Для порта 22 (только SFTP и SCP) следует использовать открытый SSH-ключ в формате RFC4716. Для порта 23 (SFTP, SCP, rsync и BorgBackup) следует использовать открытый SSH-ключ в формате OpenSSH. Если вы хотите использовать оба порта, то следует хранить SSH-ключ в обоих форматах.

Использование ключа ed25519 не поддерживается в SSH по порту 22.

Обратите внимание, что для каждой дополнительной учетной записи требуется собственный файл authorized_keys.

Создание SSH-ключей

Для создания новой пары SSH-ключей можно использовать команду ssh-keygen:

server> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
cb:3c:a0:39:69:39:ec:35:d5:66:f3:c5:92:99:2f:e1 root@server
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         .   =   |
|      . S = * o  |
|   . = = + + =   |
|    X o =   E .  |
|   o + . .   .   |
|    .            |
+-----------------+

Предупреждение: по умолчанию ssh-keygen будет перезаписывать существующий SSH-ключ! Чтобы этого не произошло можно указать свой путь к файлу при помощи параметра -f.

Дополнительно: преобразование ключа в формат RFC4716

Это необходимо только если вы хотите использовать SCP или SFTP через порт 22.

Для преобразования ключа в правильный формат, введите следующую команду:

server> ssh-keygen -e -f .ssh/id_rsa.pub | grep -v "Comment:" > .ssh/id_rsa_rfc.pub

Публичный SSH-ключ должен выглядеть как показано ниже:

server> cat .ssh/id_rsa_rfc.pub
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAABIwAAAQEAz+fh731CVfH3FPM0vK5hX7NT5HogdBEQ4ryGJIeVMv
mCQJWwrFtdWh1pXMyXsYzXq1xbjILgCZGn+H0qUBKopJaa/Pzsw5U0UyRgiFhU2k0eiHUq
pkiixTbHcLsCj3kjAv5i07wZJ/ot246hLQD1PtSQtcX7nHvhdhenOTGO+ccpM2KEdX1E64
eaTtO9Bf7X4OTXnRxS7tjYH9sls5DOunpvoIZLvbmcVw1+wMdJBXOAU6/tnkN5N3mYE4Hu
JjnRtBAI9MS9Tt3DNAp1K/udUHA6hfYf08fxYs9uwsCM793b7FczmVvHEIwIKszG7Jwiwo
Dqit4EExR8bNNCeD6D3Q==
---- END SSH2 PUBLIC KEY ----

Создание файл authorized_keys

Добавьте открытые SSH-ключи в новый локальный файл authorized_keys.

Для порта 23 (SCP, SFTP, rsync и BorgBackup), добавьте публичный SSH-ключ в формате OpenSSH:

server> cat .ssh/id_rsa.pub >> storagebox_authorized_keys

Если вы преобразовали свой публичный SSH-ключ в формат RFC4716 на предыдущем шаге, добавьте его:

server> cat .ssh/id_rsa_rfc.pub >> storagebox_authorized_keys

Можно добавить публичный SSH-ключ в обоих форматах.

Загрузка authorized_keys

Теперь вам нужно загрузить файл authorized_keys в Storage Box/Backup Space. Для этого создайте каталог .ssh с файл правами 0700 (rwx------) и создайте файл authorized_keys с публичными SSH-ключами с правами 0600 (rw-------).

Вы можете сделать это при помощи следующей команды:

server> echo -e "mkdir .ssh \n chmod 700 .ssh \n put storagebox_authorized_keys .ssh/authorized_keys \n chmod 600 .ssh/authorized_keys" | sftp <username>@<username>.your-storagebox.de
u12345@u12345.your-storagebox.de's password:
Connected to u12345.your-storagebox.de'.
sftp> mkdir .ssh
sftp>  chmod 700 .ssh
Changing mode on /.ssh
sftp>  put storagebox_authorized_keys .ssh/authorized_keys
Uploading storagebox_authorized_keys to /.ssh/authorized_keys
storagebox_authorized_keys                               100% 2916     2.0MB/s   00:00
sftp>  chmod 600 .ssh/authorized_keys
Changing mode on /.ssh/authorized_keys

Теперь вы должны заходить без пароля:

sftp <имя пользователя>@<имя пользователя>.your-storagebox.de
Connected to <имя пользователя>.your-storagebox.de.
sftp> quit

Предупреждение: команда ssh-copy-id не может быть использована для копирования открытого SSH-ключа.



© 2018. Hetzner Online GmbH. Alle Rechte vorbehalten.