Ssh to linux machine

How to install and use SSH on Linux

For example, I use SSH to connect to my virtual private server and to my office computer. Usually, it works only through the terminal. However, you can connect it to your file manager or use some graphical programs like FileZilla, if you do not want to type commands. You can also use graphical forwarding and open graphical programs from the remote server in your local computer.

SSH is a simple, reliable, and very secure way to establish a connection between computers. In this post, you will learn how to install, configure, and use SSH on Linux. In particular, I will show how to:

Configure SSH on a Local Computer

First, you need to set up your client Linux machine. This is the computer you will use to connect from.

You need to install openssh-client on your Linux computer.

sudo apt install openssh-client 
sudo zypper install openssh 
sudo dnf install -y openssh-clients 

If you also need to use Windows as a client install PuTTY.

Configure SSH on a Remote Computer

Next, configure the computer you want to connect to.

Install SSH server

On the remote computer, you need to install openssh-server .

sudo apt install openssh-server 
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd 
sudo dnf install -y openssh-server sudo systemctl enable sshd sudo systemctl start sshd 
sudo zypper install openssh sudo systemctl enable sshd sudo systemctl start sshd 

Obviously, you will need to have physical access to the remote computer to install this package. For example, if it is my office computer, I will go to my office and install this openssh-server program.

Check SSH status

After the installation, check that SSH is running with:

sudo systemctl status ssh 

You should see that it is active:

SSH server service is active

If it has not started, start it manually:

or simply reboot the system.

Find out Server’s IP

Next, you need to determine the IP address of this remote computer.

The easiest way is to check the network settings. If you have a graphical desktop in that computer, open the network settings and search for IP address.

This is how it looks in Plasma 5:

Plasma5 NetworkSettings IP address

GNOME NetworkSettings IP address

If you only have the command line, run:

Usually, you will see your IP address in the eth0 connection.

output of the command: ip a

Write down this address, you will need it to be able to connect to this remote computer.

Читайте также:  Особенности лицензирования astra linux

Open SSH port in Firewall

It is possible that you use a firewall and it may block your remote access. So, check open ports:

sudo lsof -i -P -n | grep LISTEN 

You should see that port 22 is open. If you do not find port 22 open among open ports, go to your firewall settings and open it.

the command to check open ports in Linux

If you use UFW run this command:

I discuss whether you need a firewall in Linux and how to use it in this post.

Connect using SSH

Now, I assume your remote computer is configured and you are sitting in front of your client Linux machine.

In your client Linux computer, run:

ssh remoteuser@remote-ip-address 

You use the username of the remote computer and the IP address is the address you wrote down in a previous step.

If you get a warning “Are you sure you want to continue connecting (yes/no)?”, type yes.

After you typed the password of your user at the remote computer, you will be logged in to a remote Linux computer.

first SSH log in

Now, you can work on this remote computer as if you would be sitting in front of that computer and using the terminal.

SSH in FileZilla

If you simply want to work with files without running any programs, you can also connect to your remote server with FileZilla.

In FileZilla, go to the Site manager and add a new site with SFTP protocol:

FileZilla SSH connection settings

You will get your local files on the left and your remote files on the right.

FileZilla SSH file transfer

You can navigate in FileZilla with your mouse and transfer files between your computers by simple drag-and-drop between these two panels.

SSH in File Manager

Similarly, you can add the remote server to your File Manager. I use Dolphin file manager of Plasma 5 but the procedure is very similar in other file managers.

Go to the Network in your file manager and add a Network folder:

Dolphin SSH connection settings

Among these options, select SFTP protocol, give a name to this folder, provide the user name of the remote account, IP address of the remote computer. In the field “remote folder path”, you can use your remote user home folder or any other folder you want to connect to.

Dolphin SSH folder

As a result, you will see all the folders and files of your remote computer in your file manager.

Forward X

You can also forward graphical application from your remote computer to your local computer. To do that, you simply need to add the option -X during the login.

ssh -X remoteuser@remote-ip-address 

Now, if you start any graphical program in a remote computer, it will open in your local computer, like this Firefox on the screenshot.

SSH Forward X

Transfer files

To transfer a file to a remote computer in the terminal run:

scp /path/to/local/file remoteuser@remote-ip-address:/path/to/remote/file 

And to transfer a file from a remote computer to your local computer simply type first the remote address and then local.

scp remoteuser@remote-ip-address:/path/to/remote/file /path/to/local/file 

You can also use wild cards to transfer many files at the same time. I showed how to use wild cards in this YouTube video.

Читайте также:  Подключение беспроводной гарнитуры через bluetooth ubuntu linux

Final thoughts

As you have seen SSH is a pretty handy program. It is not difficult to install and use. There are some more configurations you do to your SSH. I recommend enhancing the security of your SSH connection with SSH keys and white-listed IP addresses.

Average Linux UserFollow I am the founder of the Average Linux User project, which is a hobby I work on at night. During the day I am a scientist who uses computers to analyze genetic data.

Источник

Руководство по команде SSH в Linux с примерами

img

SSH (Secure Shell) — это сетевой протокол, который обеспечивает безопасное удаленное соединение между двумя системами. Системные администраторы используют утилиты SSH для управления компьютерами, копирования или перемещения файлов между системами. Поскольку SSH передает данные по зашифрованным каналам, безопасность находится на высоком уровне.

Руководство по команде SSH в Linux с примерами

Установка клиента OpenSSH

Есть много SSH-клиентов, бесплатных и платных, и OpenSSH является наиболее широко используемым клиентом. Он доступен на всех основных платформах, включая Linux, OpenBSD, Windows и macOS. Клиент OpenSSH предустановлен в большинстве дистрибутивов Linux по умолчанию, однако если в вашей системе не установлен клиент ssh, вы можете установить его с помощью диспетчера пакетов.

sudo apt install openssh-client

Как получить доступ к удаленному серверу

Для подключения к удаленному компьютеру вам потребуется его IP-адрес или имя. Загрузите терминал или любой SSH-клиент и введите ssh, а затем IP-адрес:

При первом подключении к хосту вы увидите следующее сообщение:

ssh 192.168.56.101

Введите yes и нажмите Enter. Возможно, вам также потребуется ввести свой пароль.

Укажите имя пользователя для SSH-подключения

SSH использует текущего пользователя при доступе к удаленному серверу. Чтобы указать пользователя для SSH-соединения, выполните команду в следующем формате:

ssh username@hostname_or_ip

Примечание. Если вы столкнулись с ошибкой «Connection refused», обратитесь к нашему руководству, чтобы найти решения.

Используйте другой номер порта для SSH-соединения

По умолчанию сервер SSH прослушивает соединение на порту 22. Если настройка порта в файле конфигурации SSH была изменена, вам необходимо указать порт. В противном случае вы получите такую ошибку:

Connection refused

Чтобы подключиться к удаленному хосту с настраиваемым номером порта SSH, используйте флаг -p . Например:

Генерация ключей SSH с помощью SSH Keygen

Чтобы повысить безопасность соединений SSH, сгенерируйте пару ключей с помощью утилиты keygen. Пара состоит из открытого и закрытого ключей. Открытый ключ может быть общим, а закрытый ключ должен оставаться в безопасности.

Пары ключей SSH используются для автоматической аутентификации клиентов на серверах. Когда вы создаете пару ключей SSH, больше не нужно вводить пароль для доступа к серверу.

На терминале хост-машины используйте эту команду для создания пары ключей:

Чтобы использовать настройки по умолчанию, нажмите Enter в ответ на запрос местоположения файла и парольной фразы.

Копировать открытый ключ SSH

Чтобы использовать пару ключей для аутентификации SSH, вам необходимо скопировать открытый ключ на сервер. Ключ — это файл id_rsa.pub , ранее созданный с помощью утилиты генерации ключей SSH.

Чтобы скопировать ключ на сервер, запустите эту команду на клиенте:

Вы также можете указать имя пользователя, если не хотите использовать текущего пользователя.

Введите пароль для аутентификации, когда его спросят. После этого вам больше не нужно будет использовать пароль для подключения к тому же серверу.

Читайте также:  Get ssd info on linux

Копирование файла удаленно через SSH с помощью SCP

Вы можете безопасно копировать файлы по протоколу SSH с помощью инструмента SCP. Базовый синтаксис:

scp fileName user@remotehost:/home/username/destination

Например, чтобы скопировать файл sample3 на рабочий стол на удаленном сервере с проверкой имени пользователя, введите:

scp sample3 test@10.0.10.5:/home/test/Desktop

Выходные данные показывают сводку операции.

scp sample3 test@10.0.10.5:/home/test/Desktop

Обязательно используйте флаг -P в верхнем регистре, если вам нужно указать порт.

Редактировать файл конфигурации SSH

Вы можете контролировать, как удаленные пользователи могут получить доступ к серверу через SSH. Измените настройки в файле sshd_config , чтобы настроить параметры сервера SSH. Обязательно редактируйте только те параметры, которые вам знакомы. Сервер может стать недоступным из-за неправильной конфигурации.

Используйте любой редактор по вашему выбору, чтобы отредактировать файл. Для внесения изменений вам потребуются права суперпользователя. В Linux мы используем vim.

В командной строке на удаленном хосте введите:

sudo vim /etc/ssh/sshd_config

Введите пароль sudo, и оболочка откроет файл в редакторе, который вы использовали.

Перезапустить службу SSH

Когда вы вносите изменения в конфигурацию SSH, вам нужно будет перезапустить службу в Linux.

В зависимости от дистрибутива Linux выполните одну из следующих команд на машине, на которой вы изменили настройки:

sudo sshd service restart

Наконец, введите пароль, чтобы завершить процесс. В результате в следующем сеансе SSH будут использоваться новые настройки.

Выполнение команды на удаленном сервере с локального компьютера

Этот метод не создает новую оболочку. Вместо этого он запускает команду и возвращает пользователя в локальную подсказку. Вы можете создать файл, скопировать файлы или запустить любую другую команду SSH в этом формате.

Чтобы удаленно выполнить команду с локального компьютера, добавьте инструкцию к команде SSH. Например, чтобы удалить файл, введите:

ssh test.server.com rm ~/Desktop/Dir1/sample4

Введите пароль, и файл на удаленном сервере будет удален без создания новой оболочки.

Параметры командной строки SSH

Инструмент SSH имеет множество дополнительных параметров. Ниже перечислены общие параметры SSH и соответствующие описания.

  • -1 — указывает ssh использовать версию протокола 1
  • -2 — указывает ssh использовать протокол версии 2.
  • -4 — разрешает только адреса IPv4.
  • -6 — разрешает только адреса IPv6.
  • -A — включает переадресацию соединения агента аутентификации. Используйте эту опцию с осторожностью.
  • -a — Отключает переадресацию соединения агента аутентификации.
  • -b bind_address — используйте эту опцию на локальном хосте с более чем одним адресом, чтобы установить исходный адрес соединения.
  • -C — включает сжатие данных для всех файлов. Только для использования с медленными соединениями.
  • -c cipher_spec — используется для выбора спецификации шифра. Перечислите значения через запятую.
  • -E log_fileName — прикрепляет журналы отладки к log_file вместо стандартной ошибки.
  • -f — отправляет ssh в фоновый режим даже до ввода пароля или ключевой фразы.
  • -g — Разрешает удаленным хостам подключаться к портам, перенаправленным на локальном компьютере.
  • -q — запускает ssh в тихом режиме. Он подавляет большинство сообщений об ошибках и предупреждениях.
  • -V — отображает версию инструмента ssh и завершает работу.
  • -v — печатает отладочные сообщения для ssh-соединения. Подробный режим полезен при устранении неполадок конфигурации.
  • -X — Используйте этот параметр, чтобы включить пересылку X11.
  • -x — Отключить пересылку X11.

Источник

Оцените статью
Adblock
detector