У меня есть сервер, и я хочу, чтобы все мои пользователи имели к нему доступ, используя свой закрытый ключ.
- Пользователи генерируют с
ssh-keygen -t rsa
парой публичных и приватных ключей. Мне дан публичный ключ в формате:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDe++u83PipzF1YmdJ0/OI2ivt/lR7IED5gQ+IBuN97vayfazKKV8+NAGI3o+Qh1f7kCQk3J9km/9tIAPpWZQWZg95aPwkmx4QuYoI7kn/LLaOYtTgaAqU0z9TzP8k83Sth5D3ET4LnkNrfKUhiPQsN1+WnhRafEv3Hu3+mHU7d8KGVyI7yhRoGWFrmPGwobza0bDsjDrSo70TCcMja8UgUTabukUmF3oj92tVKQZ+doNn4x1084rPKfky+5WGXbcuXTZnmWZRDOMqHsXicXp2m0x26oYJ0lTUnAKzWt25t2weKn24ynZzBEFRJi8ndWG+BKFiQsbSlS8ntWtJ7+9vf test@test-PC
Теперь на сервере я создал учетную запись под названием test
и хотел быАвторизоватьтакой открытый ключ с пользователем test
.
Я уже установил в sshd_config
строках:
Protocol 2
Match User root
PasswordAuthentication no
Match Group foreigners
PasswordAuthentication no
Match all
AuthorizedKeysFile .ssh/authorized_keys``
Должен ли я теперь вставить в authorized_keys
файл открытый ключ? Если да, то как я могу связать такой ключ с его желаемым пользователем (тест)?
решение1
Вам необходимо скопировать/добавить открытый ключ каждого, кто должен получить доступ к учетной записи test
, в authorized_keys
файл для этого пользователя, который обычно находится в ~/.ssh/authorized_keys
(где, ~/
опять же, обычно, раскрывается в домашний каталог /home/test/
).
Это все, что нужно сделать.
решение2
Вот что бы я сделал:
После того как ваши пользователи уже создали свои открытые/закрытые ключи, им необходимо выполнить команду ниже, чтобы экспортировать свои открытые ключи на сервер.
ssh-copy-id username@ip_address
На сервере вам необходимо изменить ваш
/etc/ssh/sshd_config
файл и добавить следующееMatch User username AuthenticationMethods publicKey
Если это для всех пользователей, просто введите
AuthenticationMethods publicKey
заявлениеЗатем перезапустите службу sshd и все должно заработать.
Ваше здоровье