$ mkdir ~/.sshМы сгенерируем нашу пару ключей, публичный и секретный ключи.
$ chmod 700 ~/.ssh
$ cd ~/.ssh
Публичный ключ размещается на сервере, а вы входите в систему с вашим секретным ключом. Когда попросят, введите вашу парольную фразу (она будет необходима для будующего входа в систему, так что помните ее!):
$ ssh-keygen -t rsa -C "A comment... usually an email is enough here..."Теперь мы скопируем публичный ключ (который мы уже сгенерировали только что выше) на наш (удаленный) сервер.(Обратите внимание на двоеточие в конце строки! Это важно.)
$ scp -p id_rsa.pub remoteuser@remotehost:Удаленный пользователь не должен быть root!
Теперь мы зайдем в систему с помощью SSH и скопируем публичный ключ в правильное место:
$ ssh remoteuser@remotehostМы должны удалить публичный ключ на рабочей станции, так как иначе SSH-клиент не разрешает нам войти на сервер. Итак, введите эту команду:
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ mv id_rsa.pub ~/.ssh
$ logout
$ rm id_rsa.pubИ затем пробуем войти опять:
$ ssh remoteuser@remotehostЕсли вы сделали все точно, как было определено выше, то у вас спросят парольную фразу. Введите ее, после чего вы войдете и получите совершенно безопасное SSH-окружение!
Выключение аутентификации по паролю
Измените строки в /etc/ssh/sshd_config:PermitRootLogin yesНа эти:
PasswordAuthentication yes
PermitRootLogin noТеперь сохраните файл и перезапустите SSH-сервер:
PasswordAuthentication no
# /etc/init.d/ssh restart
Доступ только определённым пользователям
Добавьте эту строку в файл sshd_config:AllowUsers username username usernameгде username - имена пользователей, разделённые пробелом, которым разрешён вход по SSH.
Также возможна конструкция
AllowGroups group groupгде group - группы пользователей, которым разрешён вход по SSH.
Комментариев нет:
Отправить комментарий