Как подключить вход по SSH через консоль на свой удалённый сервер Ubuntu?

Ссылка скопирована
SSH
1 ответ

Имеется сервер на Ubuntu VPS, настраивал его через MobaXterm на винде 10.
Как мне привязать публичный ключ SSH к серверу, и выключить вход по паролю?
Ключи я сгенерировал в виндовсе, они лежат в отдельной папке.
Каким образом мне всё это провернуть через консоль? Через хоста не могу добавить SSH в панели.

Дополнительно:

привет, закинь ключ в ~/.ssh/authorized_keys
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no ( отключаем вход для root пользователя)
sudo systemctl restart ssh

  • ** закинь открытый ключ в ~/.ssh/authorized_keys :)

    тс на винде предположe использует Putty
    тогда https://putty.org.ru/articles/putty-ssh-key-auth

  • Привет.
    Папки "authorized_keys" не существует.
    Как именно ключ закидывается через консоль? Мне нужно открыть в блокноте id_rsa.pub и скопировать его в эту папку?
    PermitRootLogin no ( отключаем вход для root пользователя)
    Как тогда я зайду на сервер в будущем, если я и есть root.
  • pfg21,
    "тс на винде предположe использует Putty"

    Я генерировал через PoweShell. Зачем нужна патти?

  • pfg21, в 10 scp команда есть )
  • 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 поменял формат, стал блокнотом вообще. Почему так? Всё работает, но всё же.

    Как подключить вход по SSH через консоль на свой удалённый сервер Ubuntu?

    Идём дальше.

    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, спасибо. Разобрался.
  • pfg21, да вообще в самом начале настройки сервер нет смысла отключать рута, потому что от рута ты и настраиваешь сервер, это потом уже надо делать - когда делегируешь права для своих сотрудников, если ты один за сервером следишь собираешься - то в принципе можешь забить хер на этого рута и от него всё делать
  • szQocks, Да я уже выключил его. В случае чего через sudo включу на втором пользователе.
    У меня другой вопрос. Стоит ли порты лишние закрывать? У меня сервер стоит на SSH 20000 порте.
  • AElsyy, все порты для внешнего мира должны быть закрытые, кроме там ssh и 80 443, я пользуюсь firewal - ufw
  • AElsyy,
    apt install nginx  apt install ufw  ufw enable  ufw allow "Nginx Full"  ufw allow 'OpenSSH'

    apt install nginx apt install ufw ufw enable ufw allow "Nginx Full" ufw allow 'OpenSSH'

  • szQocks, с точностью до наоборот :) Все доступы регулируются через sudo.
    А сотрудники заходят под своими бесправными юзверями.
    И все ок.

    Хыхыг, прикинь а у меня на сервере 80 и 443 прикрыты !! Серверы то они крайне разные бывают... :)
    Ещё и нжинкс зачем заставляете ставить....

    Номер порта пофиг, если все работает.

  • pfg21,

    Все доступы регулируются через sudo.
    А сотрудники заходят под своими бесправными юзверями.

    я это и имел ввиду

    Серверы то они крайне разные бывают

    согласен, зря я наверное обобщил о том какие порты должны быть открыты а какие закрыты, всё зависит от того для чего используется сервер

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Кирилл JS Ответ

Для подключения к удаленному серверу Ubuntu по SSH через консоль необходимо выполнить следующие шаги:

1. Откройте терминал на вашем компьютере.

2. Введите команду для подключения к серверу. Синтаксис команды следующий:

ssh username@server_ip_address

ssh username@server_ip_address

Где:
- `username` - ваше имя пользователя на сервере
- `server_ip_address` - IP-адрес вашего удаленного сервера

3. После ввода команды вас попросят ввести пароль. Введите пароль вашего пользователя на сервере.

4. Если вы впервые подключаетесь к серверу, вам может быть предложено сохранить ключ хоста. Нажмите `yes`, чтобы продолжить.

5. После успешного ввода пароля вы будете подключены к вашему удаленному серверу через SSH.

6. Теперь вы можете выполнять команды на сервере, как если бы вы находились непосредственно на нем.

Помните, что для подключения по SSH необходимо, чтобы на удаленном сервере был установлен и запущен SSH-сервер. Также убедитесь, что вы используете правильное имя пользователя и IP-адрес сервера.

Это основные шаги для подключения к удаленному серверу Ubuntu через консоль по SSH. Если у вас возникли какие-либо проблемы или вопросы, не стесняйтесь задавать их для получения более подробной помощи.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно