У меня два экземпляра Ec2.
Служба 1, ОС: Centos - 7,5 Служба 2, ОС: Centos - 7.5 Имя пользователя по умолчанию: centos
Оба настроены для входа в систему без пароля, поэтому у меня есть ключ ssh.
Я могу подключиться к обоим серверам по ssh, используя ключ ssh с моего хоста.
Но когда я пытаюсь установить ssh с сервера 1 на сервер 2, это не удается.
Я обнаружил, что ключи prvt находятся в / etc / ssh
-rw-r-----. 1 root ssh_keys 1679 Oct 7 14:42 ssh_host_rsa_key
ошибка
sudo ssh -i ./ssh_host_rsa_key centos@172.26.7.177
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
Итак, где я ошибаюсь.
Лучший способ приблизиться к этому - создать новый ключ для пользователя, которого вы хотите на Server1, чтобы подключиться к Server2, используя ssh-keygen и скопировав PUBLIC ключ этого пользователя в ~/.ssh/authorized_keys
сервера Server2, а затем повторить ту же процедуру для обратного пути.
ВАШ закрытый ключ должен оставаться вашим, он никогда не должен покидать ваш компьютер, не используйте его, копируя на серверах, я могу вас заверить, что вы ничего не упрощаете, делая это.
На всех моих серверах CentOS 7 конфигурация SSH по умолчанию находится в ~ / .ssh, закрытый ключ обычно ~/.ssh/id_rsa
и публика обычно ~/.ssh/id_rsa.pub
это единственные 3 файла, которые вам нужно создать или отредактировать для каждой машины:
~/.ssh/id_rsa
~/.ssh/id_rsa.pub
~/.ssh/authorized_keys
убедитесь, что для каталога ~ / .ssh указано значение 700, а для файлов внутри 600.
Ты можешь использовать ssh-copy-id
для отправки открытого ключа с одного сервера на другой после создания обоих наборов ключей.
Вам будет проще создать новый ключ для пользователя centos в Server_A:
$ ssh-keygen
После создания скопируйте содержимое /home/centos/.ssh/id_rsa.pub в /home/centos/.ssh/authorized_keys на Server_B.
После завершения вы можете подключиться к Server_B по ssh с Server_A без пароля.
Похоже, вы путаете ключи.
В аутентификации SSH используется асимметричное шифрование, также известное как шифрование с открытым ключом. Итак, каждый ключ состоит из двух частей: закрытый ключ (тот, который должен храниться в секрете) и открытый ключ который передается другой стороне.
Закрытые ключи в /etc/ssh
на сервер это те, которые доказывают клиенту, что он подключается к правильному серверу.
Закрытые ключи для входа в систему хранятся на клиент обычно в /home/user/.ssh/
Есть ли конкретная причина, по которой вы хотите использовать ssh от одного экземпляра к другому? С точки зрения безопасности это не лучшая идея.
Отладка ssh: Для отладки ssh просто используйте ssh -vv
и добавить еще v
по вкусу.