Для того что бы установить ssh сервер нужно выполнить следующую команду:
1
sudo apt-get install openssh-server
Для начала, произведем начальную настройку ssh сервера для авторизации по ключу. Откроем на редактирование файл /etc/ssh/sshd_config
1
sudo nano /etc/ssh/sshd_config
Тут нас интересуют следующие строки, их всего три (Должны быть раскомментированы, и иметь указанные мной значения):
1
2
3
4
5
...........
RSAAuthentication yes
PubkeyAuthentication yes
...........
AuthorizedKeysFile %h/.ssh/authorized_keys
Перезапустим сервер ssh:
1
sudo restart ssh
Итак, привели строки файла конфигурации ssh к требуемому виду.
Далее необходимо будет сгенерировать ключи для авторизации. Дальнейшие действия производятся на самом ssh сервере (Не на компьютере на котором вы будете работать при помощи ssh клиента, а именно там где установили open-ssh):
Вводим следующую команду:
1
ssh-keygen -t rsa
Вы можете вместо RSA использовать DSA. В отличии от RSA, DSA используется только для цифровой подписи, и не используется для шифрования.
Далее в ответ мы получим следующие строки:
Введите название ключа, в принципе это не важно, но желательно что бы в дальнейшем не запутаться, если будет несколько ключей.
1
2
Generating public/private rsa key pair.
Enter file in which to save the key (/home/melfis/.ssh/id_rsa):
Тут и далее, будем считать что в данном примере я ввел melfis.ru-rsa
Теперь система попросит ввести пароль для сертификата, я ввожу пароль.
1
2
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Сертификаты сгенерированы:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Your identification has been saved in melfis.ru-rsa.
Your public key has been saved in melfis.ru-rsa.pub.
The key fingerprint is:
23:3f:f4:5c:c4:48:6b:37:4c:ca:f5:24:29:63:e7:ae melfis@NAT-SERVER
The key's randomart image is:
+--[ RSA 2048]----+
| . +.. |
| o+Oo+ |
| .*=* . |
| . o.. |
| . S .. |
| + + .. |
| o o. |
| .E |
| |
+-----------------+
Теперь в папке в которой вы находились, имеются два ключа:
1
2
melfis.ru-rsa
melfis.ru-rsa.pub
Один из них приватный: melfis.ru-rsa, другой публичный: melfis.ru-rsa.pub.
Теперь Вам необходимо установить на Ваш сервер сгенерированный ключ. (Да, мы находимся все еще на сервере где установлен Spen-SSH). По мимо установки ключа, мы сразу выставим права на хранилище ключей.
Выполним следующие команды:
1
2
cat melfis.ru-rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Теперь перейдем на компьютер, который должен быть авторизирован на ssh сервере по ключу. (Теперь мы работаем на Вашем локальном компьютере.)
Заберем ключ к себе на компьютер следующей командой (Я предопологаю, что Вы выполняли предыдущие пункты в домашнем каталоге пользователя на сервере):
1
scp ИМЯ_ПОЛЬЗОВАТЕЛЯ@АДРЕС_СЕРВЕРА:~/melfis-rsa ~/.ssh/melfis-key
После того как ключ получен, загрузим его в наше локальное хранилище:
1
ssh-add ~/.ssh/melfis-key
Введите пароль который Вы установили для этого ключа. После того как ключ успешно загружен, пробуем подключится к серверу:
1
ssh ИМЯ_ПОЛЬЗОВАТЕЛЯ@АДРЕС_СЕРВЕРА
В результате чего, пароль запрашиваться не будет. Если Вам удалось подключится к серверу SSH посредством ключа, то наверное не плохим решением будет полное отключение авторизации по паролю. Для этого на сервере необходимо открыть файл /etc/ssh/sshd_config и изменить следующую строку:
1
PasswordAuthentication yes
на вот такую:
1
PasswordAuthentication no
И не забудьте перезапустить сервер Open-SSH
На этом все. Можете «слить» созданные вами ключи на флешку и использовать их для авторизации по ssh без ввода пароля.
ссылка на статью
melfis.ru/%D0%B0%D0%B2%D1%82%D0%BE%D1%80%D0%B8%D0%...