Как сделать копию RSA-ключа на другом Linux-сервере?

Как использовать параметры (-oHostKeyAlgorithms=+ssh-dss -c aes128-cbc) при использовании команды ssh-copy-id или какие другие способы есть, чтобы избежать ошибки "no matching host key type found"?
  • 2 октября 2023 г. 17:17
Ответы на вопрос 2
Для копирования RSA-ключа на другой Linux-сервер вы можете использовать команду ssh-copy-id следующим образом:

```
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
```

Где `~/.ssh/id_rsa.pub` - это путь к публичному ключу RSA, который вы хотите скопировать, `user` - имя пользователя на удаленном сервере, а `server_ip` - IP-адрес или доменное имя удаленного сервера.

Чтобы использовать дополнительные параметры, такие как `-oHostKeyAlgorithms=+ssh-dss -c aes128-cbc`, вы можете использовать переменную окружения `SSH_OPTIONS`. Например:

```
SSH_OPTIONS="-oHostKeyAlgorithms=+ssh-dss -c aes128-cbc" ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
```

Здесь мы установили значение переменной `SSH_OPTIONS` равным нужным параметрам, а затем выполнили команду `ssh-copy-id`. Параметры будут применены к этой команде.

Если вы все равно получаете ошибку "no matching host key type found", это может быть связано с настройками ssh-сервера на удаленной машине. В этом случае вам нужно будет внести изменения в конфигурацию сервера, чтобы разрешить использование поддерживаемых типов ключей и алгоритмов шифрования.

В файле `/etc/ssh/sshd_config` раскомментируйте и/или добавьте соответствующие строки:

```
HostKeyAlgorithms ssh-rsa
Ciphers aes128-cbc
```

Затем перезапустите сервис sshd:

```
sudo service sshd restart
```

Это позволит использовать RSA-ключ и алгоритм шифрования aes128-cbc при подключении к серверу.
1. Перенести опции запуска в файл настроек (~/.ssh/config) (ссылка: https://www.digitalocean.com/community/tutorials/h...) и избегать необходимости ввода этих ключей, вместо этого можно использовать ssh-copy-id.

2. Воспользуйтесь скриптом ssh-copy-id для добавления ключа в файл ~/.ssh/authorized_keys. Можно перенести содержимое файла через scp или скопировать его в буфер обмена. Файл является текстовым и ключ обычно короткий. Выполните необходимые действия вручную.

Обратите внимание на права доступа к каталогу ~/.ssh и самому файлу ~/.ssh/authorized_keys. Убедитесь, что права записи разрешены только для владельца. Рекомендуется установить права 700 на каталог и 600 на файл для упрощения процесса.
Похожие вопросы