У меня два экземпляра 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 - это chmod'ed 700, а файлы внутри 600.
Вы можете использовать ssh-copy-id
для отправки открытого ключа с одного сервера на другой, как только вы создадите оба набора ключей.
Похоже, вы путаете ключи.
SSH-аутентификация использует асимметричное шифрование, также известное как шифрование с открытым ключом. Таким образом, каждый ключ состоит из двух частей: закрытого ключа (тот, который должен храниться в секрете) и открытого ключа , который используется другой стороной.
Закрытые ключи в / etc / ssh
на сервере служат для доказательства клиенту, что он подключается к правильному серверу.
Закрытые ключи для входа в систему хранятся на клиент обычно находится в /home/user/.ssh/
Есть конкретная причина, по которой вы хотите использовать ssh от одного экземпляра к другому? С точки зрения безопасности это не лучшая идея.
Отладка ssh :
Для отладки ssh просто используйте ssh -vv
и добавьте еще v
по своему вкусу.
В Server_A вам будет проще создать новый ключ для centos пользователей:
$ ssh-keygen
После создания скопируйте содержимое /home/centos/.ssh/id_rsa.pub в /home/centos/.ssh/authorized_keys на Server_B
После завершения, вы можете ssh войти в Server_B из Server_A без пароля
.