SSH как пользоваться

SSH —  Это протокол, с помощью которого можно удаленно залогиниться и выполнять команды так, как будто находишься на удаленном сервере. Одним словом SSH это рабочая лошадка при общении с сервером linux

Чтобы соединиться с одного компьютера на другой посредством SSH, вам потребуется ssh-server и ssh-client.

В этой статье мы покажем как пользоваться SSH, как установить SSH и как настроить SSH в системах Linux.

 Возможно вам будет интересно КОМАНДА SSH В LINUX

Установка ssh-server

Итак, у вас есть сервер, с которым вы хотите соединяться. Но для начала требуется установить openssh-server. Установка достаточно проста:

sudo apt install openssh-server

Эта команда подойдет для DEBIAN, UBUNTU. Как включить SSH в Fedora вы можете прочитать Здесь.

Установка очень быстро, не задавая вопросов.

После установки openssh-server рекомендую сменить порт ssh с 22 который назначается по-умолчанию на что-нибудь другое. Это избавит вас от автоматических переборов паролей злоумышленниками, а также добавит безопасности.

Сделать это можно выполнив команду:

sudo nano /etc/ssh/sshd_config

Изменение порта SSH
Изменение порта SSH

Установите любой свободный порт, например 8529, и перегрузите сервер:

restart ssh

После этого можно соединяться с сервером по ssh протоколу.

Установка linux-клиента

Как мне известно ssh-client установлен на всех системах linux из коробки, но если у вас ssh не установлен, тогда введите команду:

sudo apt install openssh-client

Соединение c сервером SSH

Соединиться с ssh-сервером можно одной командой:

ssh имя_сервера

Где имя_сервера это ip адрес сервера или имя сервера (если сервер локальный), к примеру:

ssh192.168.1.80

Подключение к серверу
Подключение к серверу

Ой, клиент пытается подключиться к серверу по порту 22, но мы его поменяли на 8529. Исправим это:

ssh -p 8529 192.168.1.80

Подключение к серверу
Подключение к серверу

При соединении с вашим сервером, ssh клиент создаст отпечаток (fingerprint) сервера и сравнит его с тем, который хранится в конфиге. Нужно добавить сервер в список известных серверов, так как соединяемся в первый раз. Набираем «yes» и нажимаем «Enter».

Если в будущем сервер будет переустановлен, то соединиться с ним не получится, так как отпечаток не будет совпадать. Это сделано в целях безопасности, чтобы нельзя было подменить сервер. Чтобы исправить это, измените соответствующую строку в файле ~/.ssh/known_hosts или просто удалите этот файл.
Отпечаток ssh сервера
Отпечаток ssh сервера

Далее вводим пароль. Не знаете какой пароль? Это пароль пользователя на сервере, с которым вы установили при установке Linux. В данном случае на скриншоте это пользователь root. Если нужно соединяться под именем другого пользователя, тогда требуется указать его имя перед сервером: user@192.168.1.80. После ввода пароля вы войдете на сервер.

Вход на сервер через ssh-client
Вход на сервер через ssh-client

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

Теперь можно вводить любые команды, как будто вы физически находитесь за терминалом удаленного компьютера.

Чтобы завершить соединение, введите команду exit.

Завершение соединения с SSH
Завершение соединения с SSH

Как пользоваться ssh в windows

Что делать если у вас нет  linux? Для ОС Windows существует ряд программ, самая популярная из которых — putty. Есть также расширение этой программы — kitty, которое добавляет в putty новый функционал.

Программа Putty Windows для подключения к ssh Linux
Программа Putty Windows для подключения к ssh Linux
Подключение к серверу
Подключение к серверу

Программа достаточно проста в эксплуатации.

Соединение SSH без пароля

Для удобства можно настроить беспарольное подключение для определенного пользователя. Для этого требуется сгенерировать ключ на клиенте. Делается это командой:

ssh-keygen -t dsa

Все поля можно оставить по-умолчанию.

Генерация ssh ключа на клиенте
Генерация ssh ключа на клиенте

Далее нужно скопировать сгенерированный ключ:

cat /root/.ssh/id_dsa.pub

Сгенерированный ключ
Сгенерированный ключ

Теперь нужно зайти на сервер и скопировать полученный ключ в файл:

nano ~/.ssh/authorized_keys

Теперь можно соединяться по ssh без пароля.

Подключение по ssh без пароля
Подключение по ssh без пароля

Теперь осталось сделать удобный alias на клиенте и соединяться с сервером одной простой командой.

Монтирование по ssh

Использование ssh не заканчивается выполнением команд на удаленном сервере. На основе протокола ssh базируются другие программы. Например sshfs — программа монтирования удаленной файловой системы с помощью ssh.

Создадим на сервере в домашней директории root тестовый файл:

cd ~ && touch fileonserver

Далее надо установить программу sshfs на клиенте:

sudo apt install sshfs

Создадим тестовую директорию:

cd ~ && mkdir fromserver

А теперь примонтируем домашнюю директорию root с сервера в нашу тестовую директорию на клиенте:

sshfs -C -p 7777 root@192.168.1.80:/root/ ~/fromserver

Проверяем результат:

ls -la ~/fromserver

Монтирование по ssh
Монтирование по ssh

Чтобы размонтировать воспользуйтесь командой umount:

umount /root/fromserver

Копирование файлов по ssh

Что делать, если нужно скопировать файл на другой сервер? Можно, конечно, примонтировать удаленную файловую систему и воспользоваться обычной командой cp. Но что, если нужно сделать, к примеру, скрипт, который будет регулярно копировать файлы? В этом случае проще воспользоваться другой надстройкой над протоколом ssh — командой scp.

Из предыдущего пункта у нас остался файл fileonserver находящийся на сервере в домашней директории root (если его там нет — создайте). Скопировать его в домашнюю директорию клиента достаточно просто:

scp -P7777 root@192.168.1.80:/root/fileonserver ~

Копирование файлов по ssh
Копирование файлов по ssh

Параметр -P7777 указывает на порт 7777, который мы поменяли в самом начале.

Точно таким же образом можно отправить файл с клиента на сервер. Для этого используйте команду:

touch filefromclient
scp -P7777 ~/filefromclient root@192.168.1.80:/root/

Копирование файлов по ssh
Копирование файлов через ssh

Заключение

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

Nazario

Я — Nazario, создатель и автор сайта linuxwin.ru, специализируюсь на информационных технологиях с акцентом на системное администрирование Linux и Windows, веб-разработку и настройку различных систем.

Linux и Windows
Выскажите своё мнение или присоединяйтесь к обсуждению:

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