Есть две машины Linux, A и B. Сценарии, работающие на A, должны иметь возможность SSH подключаться к B. Таким образом, A генерирует открытый ключ (вероятно, сгенерированный ssh-keygen id_rsa.pub), а затем использует свой соответствующий закрытый ключ ( снова, вероятно, id_rsa), чтобы сделать это соединение SSH.
Если что-то, что я сказал выше, неверно или введено в заблуждение, пожалуйста, начните исправлять меня!
Предполагая, что я более или менее на цели:
Да
но B необходимо, чтобы открытый ключ A был указан в файле author_keys B, чтобы A мог подключиться к B
также вы можете удалить id_rsa.pub и ssh в B, и он все равно будет работать, потому что открытый ключ генерируется заново при каждом подключении ssh и не сохраняется ни в одном id_rsa.pub.
Как A «дает» B свой открытый ключ (id_rsa.pub)? Это должен быть ручной процесс, или это может быть автоматизировано? Если руководство, каков процесс? Если это автоматизировано, какая команда?
инструкция - что-то вроде
из-
cat ~/.ssh/id_rsa.pub | ssh USER@HOST "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
или даже больше вручную, чтобы сломать команду
A $ cat id_rsa.pub | ssh user@host 'cat>~/a.a'
затем на B убедитесь, что ~ / .ssh существует, затем выполните cat a.a >> ~/.ssh/authorized_keys
и вы можете просмотреть и авторизовать ключи B до и после, чтобы убедиться, что ключ указан в списке.
Или вы можете отправить id_rsa.pub по электронной почте на учетную запись электронной почты, затем из B, B можете проверить электронную почту и добавить содержимое id_rsa.pub в свой файл author_keys.
автоматически
Команда ssh-copy-id
Вы должны быть в состоянии SSH, поэтому вам нужен доступ с паролем
Вместо того, чтобы делать ssh user @ host, вы делаете ssh-copy-id user @ host, и вам предлагается ввести пароль, вы вводите его, вы находитесь, он скопирует открытый ключ. И в следующий раз, когда вы сделаете ssh user @ host, он будет использовать ключ.
Когда B «получает» этот открытый ключ, куда он попадает или хранится?
B's ~ / .ssh / authorized_keys
При инициализации SSH-соединения с B, как A «использует» свой закрытый ключ (id_rsa) как часть этого соединения?
ну, я не знаю много об этом, вне головы, но все, что зашифровано одним ключом, может быть расшифровано другим ключом, и идентификация себя немного отличается от отправки данных ... и может быть что-то о временном ключе тоже.