- Установка SSH-server в Ubuntu
- Устанавливаем SSH-server в Ubuntu
- Шаг 1: Загрузка и установка SSH-server
- Шаг 2: Проверка работы сервера
- Шаг 3: Редактирование файла конфигурации
- Шаг 4: Добавление ключей
- How to Remotely Manage Ubuntu Server with SSH
- Establishing the SSH connection
- Installation of OpenSSH server
- Configuring SSH Server
- Accessing Ubuntu Linux server through SSH client
- Connect to Ubuntu from Windows using Putty SSH client
- Karim Buzdar
Установка SSH-server в Ubuntu
Протокол SSH используется для обеспечения безопасного соединения с компьютером, что позволяет производить удаленное управление не только через оболочку операционной системы, но и шифрованный канал. Иногда у пользователей операционной системы Ubuntu возникает надобность поставить SSH-сервер на свой ПК для реализации каких-либо целей. Поэтому мы предлагаем детально ознакомиться с этим процессом, изучив не только процедуру загрузки, но и настройку основных параметров.
Устанавливаем SSH-server в Ubuntu
Компоненты SSH доступны для скачивания через официальное хранилище, потому мы будем рассматривать именно такой метод, он является самым стабильным и надежным, а также не вызывает сложностей у начинающих юзеров. Весь процесс мы разбили на шаги, чтобы вам было проще ориентироваться в инструкциях. Давайте же начнем с самого начала.
Шаг 1: Загрузка и установка SSH-server
Выполнять поставленную задачу будем через «Терминал» с использованием основного набора команд. Обладать дополнительными знаниями или навыками не нужно, вы получите детальное описание каждого действия и все необходимые команды.
- Запустите консоль через меню или зажав комбинацию Ctrl + Alt + T.
Сразу же начните скачивание файлов сервера с официального репозитория. Для этого потребуется ввести sudo apt install openssh-server , а затем нажать на клавишу Enter.
Поскольку мы используем приставку sudo (выполнение действия от имени суперпользователя), вам потребуется ввести пароль от своей учетной записи. Учтите, что символы при вводе не отображаются.
По умолчанию клиент устанавливается вместе с сервером, но не лишним будет убедиться в его наличии, попытавшись инсталлировать его повторно с помощью sudo apt-get install openssh-client .
SSH-сервер будет доступен для взаимодействия с ним сразу же после успешного добавления всех файлов в операционную систему, но его еще следует настроить, чтобы обеспечить корректную работу. Советуем ознакомиться со следующими шагами.
Шаг 2: Проверка работы сервера
Для начала давайте убедимся в том, что стандартные параметры были применены верно, а SSH-server отзывается на основные команды и выполняет их правильно, поэтому вам надо:
- Запустите консоль и пропишите там sudo systemctl enable sshd , чтобы добавить сервер в автозагрузку Ubuntu, если вдруг этого не случилось автоматически после установки.
Если вам не нужно, чтобы инструмент стартовал вместе с ОС, удалите его с автозапуска путем ввода sudo systemctl disable sshd .
Теперь проверим, как производится подключение к локальному компьютеру. Примените команду ssh localhost (localhost — адрес вашего локального ПК).
Подтвердите продолжение подключения, выбрав вариант yes.
В случае успешной загрузки вы получите примерно такую информацию, как видите на следующем скриншоте. Проверить необходимо и подключение к адресу 0.0.0.0 , который выступает в роли выбранного сетевого IP по умолчанию для других устройств. Для этого введите соответствующую команду и нажмите на Enter.
При каждом новом соединении необходимо будет его подтверждать.
Как видите, команда ssh используется для подключения к любому компьютеру. Если у вас появилась надобность соединиться с другим устройством, просто запускайте терминал и вводите команду в формате ssh имя_пользователя@ip_адрес .
Шаг 3: Редактирование файла конфигурации
Все дополнительные настройки протокола SSH осуществляются через специальный файл конфигурации изменением строк и значений. Не будем сосредотачивать внимание на всех пунктах, к тому же большинство из них сугубо индивидуальны для каждого юзера, мы лишь покажем основные действия.
- Первоочередно сохраните резервную копию файла конфигурации, чтобы в случае чего обратиться к нему или восстановить исходное состояние SSH. В консоль вставьте команду sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original .
Затем вторую: sudo chmod a-w /etc/ssh/sshd_config.original .
Запуск файла настроек выполняется через sudo vi /etc/ssh/sshd_config . Сразу же после ввода он будет запущен и вы увидите его содержание, как показано на скриншоте ниже.
Здесь вы можете изменять используемый порт, что всегда лучше сделать для обеспечения безопасности подключения, далее может быть отключен вход от имени суперпользователя (PermitRootLogin) и включена активация по ключу (PubkeyAuthentication). По завершении редактирования следует нажать на клавишу : (Shift + ; на латинской раскладке) и добавить букву w , чтобы сохранить изменения.
Выход из файла осуществляется таким же образом, только вместо w используется q .
Не забудьте перезапустить сервер, введя sudo systemctl restart ssh .
После изменения активного порта его нужно зафиксировать в клиенте. Делается это путем указания ssh -p 2100 localhost , где 2100 — номер замененного порта.
Если у вас настроен брандмауэр, там также требуется провести замену: sudo ufw allow 2100 .
Вы получите уведомление, что все правила были обновлены.
С остальными параметрами вы вправе ознакомиться самостоятельно, прочитав официальную документацию. Там есть советы по изменению всех пунктов, помогающие определить, какие значения следует выбирать лично вам.
Шаг 4: Добавление ключей
При добавлении ключей SSH открывается авторизация между двумя устройствами без надобности предварительного ввода пароля. Процесс идентификации перестраивается под алгоритм чтения секретного и открытого ключа.
- Откройте консоль и создайте новый ключ клиента, введя ssh-keygen -t dsa , а затем присвойте название файлу и укажите сам пароль для доступа.
После этого будет сохранен публичный ключ и создастся секретное изображение. На экране вы увидите его вид.
Осталось только скопировать созданный файл на второй компьютер, чтобы отключить подключение через пароль. Используйте команду ssh-copy-id username@remotehost , где username@remotehost — имя удаленного компьютера и его IP-адрес.
Осталось только перезапустить сервер и проверить его корректность работы через открытый и секретный ключ.
На этом процедура установки SSH-сервера и его основная настройка завершена. Если вы вводите все команды правильно, никаких ошибок при выполнении задачи возникнуть не должно. В случае каких-либо проблем с подключением после настройки попробуйте убрать SSH из автозагрузки, чтобы решить неполадку (читайте об этом в Шаге 2).
How to Remotely Manage Ubuntu Server with SSH
You may often have to access remote servers to administer, manage, and troubleshoot and there are several ways to do this. You may use telnet to login to remote servers; FTP allows transferring files between different servers. However, these programs are not secure enough for connecting to critical servers. SSH, secure shell is a cryptographic network protocol using which you can securely access network services over an unsecured network. SSH allows you to access servers through Terminal and various command line functions. It is helpful if you want to access and administer a server remotely using a secure way.
In this article, I am going to describe how you can remotely manage a Linux server with SSH.
For this article, I am using the following machines:
- For SSH Server – Ubuntu 18.04 TLS
- For SSH Client – Terminal (Ubuntu) & Putty (Windows)
Establishing the SSH connection
Prior to establishing a secure remote connection with a Ubuntu server using SSH, you have to meet some basic requirements.
Prerequisites
Following are some prerequisites:
- The remote server must be powered on and have a stable network connection.
- You will require an IP address of the server.
- The remote server must be accessible through that IP. You can test it using a Ping command.
- SSH server and SSH client tools must be installed in both server and client OS respectively.
- You will require a remote server’s user name and password.
- A Firewall should not be blocking the connection.
Installation of OpenSSH server
To manage a Ubuntu server remotely via SSH, you will need the SSH server software. However, before proceeding for installation of OpenSSH, first, update and upgrade the list of packages to get the most up-to-date repositories.
Update package database
Press Ctrl + Alt + T to launch Terminal in Ubuntu. Enter the following command in Terminal to update package database.
Upgrade installed packages
After updating repositories, run this command in Terminal to check for an upgrade for installed packages.
Advertisement
Once you have updated and upgraded the packages, run the following command in Terminal:
Configuring SSH Server
Now you will need to do some basic and necessary configuration of SSH server in ssh_config file. For this, run the following command in Terminal to open ssh_config:
You can do various configuration settings here. For now, we will do only basic and starting configuration as shown in the below screenshot. Uncomment the below line in ssh_config file:
#Port 22
Under port number, add the line MaxAuthTries. You can enter here any number that will allow a maximum number of login attempts.
MaxAuthTries 4
Once done with the basic configuration, save the file and exit the Nano editor.
Check SSH service status
To check the status of the SSH server, if it is running or not, you can run the following command in Terminal:
Above command confirms that SSH service is active and running.
Now SSH server is set up to accept remote connections from different computers using a SSH client.
If the SSH service is not running you can run it manually by running the following command in Terminal:
You can also stop SSH service by running the following command in Terminal:
Accessing Ubuntu Linux server through SSH client
You can access a Linux server through SSH client in Linux or Windows based OS:
- Through Terminal ( Linux )
- Through Putty (Windows )
If you are using a Linux operating system, you can access SSH server using the Terminal program.
Press Ctrl+Alt+T to launch Terminal. Run the command in the below syntax to access a remote server:
$ ssh [remote server] [Port Number]
Where [remote server] is the remote server name or IP and [Port Number] is the remote port for SSH connections.
Or you can also type the command along with the username of the remote server in the following syntax:
$ ssh [username]@[remote server] [Port Number]
Where [username] is the name of the remote server user.
Type yes when it prompts the message asking if you want to continue connectivity. It will add the user to the list of known hosts. Next time you connect, it will not prompt the message again.
When prompted for the password, type the remote user’s password.
Now you are connected to the remote server. You can run any command and use it the same way as you access a local server.
Connect to Ubuntu from Windows using Putty SSH client
If you are using a Windows operating system, you can use putty as an SSH client.
Install putty in your Window OS. To launch Putty, Type putty in the search bar of Windows, and select putty.exe from the best match results.
In the putty configuration window, under session category, type IP address of the remote server in the box labeled as Hostname (or IP address).
From connection type, select SSH radio button. If you are using a port other than default port 22, make sure to change it otherwise leave the default port 22. Then click on Open to allow the connection.
A Terminal will open with a login prompt. Enter the username and password of the remote server user.
After you have successfully logged in to the remote server, you can run any command to manage it.
This is how you can easily connect the Linux servers using SSH. Now you are able to manage and administer the server remotely. SSH is not only a secure method of connecting to a server but also convenient.
Karim Buzdar
About the Author: Karim Buzdar holds a degree in telecommunication engineering and holds several sysadmin certifications. As an IT engineer and technical author, he writes for various web sites. You can reach Karim on LinkedIn