Как подключить вход по SSH через консоль на свой удалённый сервер Ubuntu?
Имеется сервер на Ubuntu VPS, настраивал его через MobaXterm на винде 10.
Как мне привязать публичный ключ SSH к серверу, и выключить вход по паролю?
Ключи я сгенерировал в виндовсе, они лежат в отдельной папке.
Каким образом мне всё это провернуть через консоль? Через хоста не могу добавить SSH в панели.
Привет.
Папки "authorized_keys" не существует.
Как именно ключ закидывается через консоль? Мне нужно открыть в блокноте id_rsa.pub и скопировать его в эту папку?
PermitRootLogin no ( отключаем вход для root пользователя)
Как тогда я зайду на сервер в будущем, если я и есть root.
AElsyy, канонически, рут отключается. создается служебная/именная учетка к ней и привязывается ключ
scp путь_к_вашему_ключу/id_rsa.pub ваш_пользователь@ip_адрес_сервера:~/.ssh/authorized_keys
authorized_keys это файл в котором лежит содержимое паб ключа
AElsyy, не папки а файл :)
да все правильно содержимое id_rsa.pub в нем будет одна длинная строчка. чтотоипа
ssh-rsa AAAAB3********Bb user@computer
ее копируешь в файл ~/.ssh/authorized_keys (тоже в ввиде одной строчки)
если файла нет - создаешь. если создаешь, права на файл ~/.ssh/authorized_keys должны быть 600. права на папку ~/.ssh 700. если права иные sshd пошлет их нафих.
пробуешь зайти по ключу. если работает отключаешь вход по пользователю.
п.с.: эквипенисуально. putty прост привычнее, со времен вин хп :)
pfg21,
Мне сложно воспринимать все эти консольные махинации.
Напишите последовательно конкретные команды, с предоставлением 700 прав, как мне потом пробовать зайти по ключу и т.д
Я буквально первый день пытаюсь в линукс
AElsyy, норм. когда то надо начинать :)
смотришь содержимое домашней папки
$ ls -l ~
если нет такой строчки
drwx------ 2 pfg pfg 4096 июл 21 2023 .ssh
создаешь папку .ssh
mkdir ~/.ssh
ставишь права 700
$ chmod 700 ~/.ssh
запускаешь nano с именем файла
nano ~/.ssh/authorized_keys
в открывшемся окне редактора вносишь строчку открытого ключа из id_rsa.pub
жамкаешь ctrl-O, внизу выходит строчка о сохранении файла, жмешь Enter, выходит строчка файл записан, жмешь ctrl-X - выходишь из nano
назначаешь права файлу
$ chmod 600 ~/.ssh/authorized_keys
всё - файл имеется
пробуешь зайти через ssh с ключом.
если заходит то выключаешь в sshd вход по юзеру.
еще посоветую поставить консольный менеджер mc - с ним работать с файла в консоле удобнее. в комплекте есть очень удобный редактор текстовых файлов.
а лучше far2l но его только-только начинают пропихивать в систему.
pfg21,
Отлично!
Я смог зайти, сразу возник вопрос, пока прокладывал путь к папке с приватным ключом, увидел, что у меня публичный SSH поменял формат, стал блокнотом вообще. Почему так? Всё работает, но всё же.
Идём дальше.
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no ( отключаем вход для root пользователя)
sudo systemctl restart ssh
Я так понял, что меняя конфигурацию файла, пути назад уже не будет.
Сразу два вопроса.
Первый.
Видел в некоторых гайдах, как раскомментируют строчку в конфиге:
#port 22 - меняют на другой, вроде как 22 порт для автоатак популярен, так?
Я был бы не против поменять, условно, я ставлю 1650, мне нужно убрать знак комментария #
И при настройке подключении к моему серверу в MobaXterm так же меняется порт с 22 на 1650?
Второй.
Если я буду PermitRootLogin менять с yes на no
Как мне создать вторую учетку. И вообще, стоит ли игра свеч? Для чего это делается?
AElsyy, мож просто жамкнул чтобы привязать расширение .pub к блокноту, вот и стали файлики .pub отображаться с иконкой блокнота.
да, после отключения входа по паролю, вход по паролю будет недоступен :) только вход по ключам.
смена порта не сильно поможет :) чуть уменьшит поток сканеров, но на безопасности никак не сыграет.
запрет входа под root отключит возможность входа под пользователем root через ssh- - удобная фитча.
под root всегда можешь переключится через sudo -i или запустить прогу с правами root через sudo %имя проги% и введя пароль пользователя (а не пароль root).
pfg21, да вообще в самом начале настройки сервер нет смысла отключать рута, потому что от рута ты и настраиваешь сервер, это потом уже надо делать - когда делегируешь права для своих сотрудников, если ты один за сервером следишь собираешься - то в принципе можешь забить хер на этого рута и от него всё делать
szQocks, Да я уже выключил его. В случае чего через sudo включу на втором пользователе.
У меня другой вопрос. Стоит ли порты лишние закрывать? У меня сервер стоит на SSH 20000 порте.