Linux install ssh client

Установка и настройка сервера SSH в Linux

Secure Shell, т. е. SSH – протокол, обеспечивающий защищённые соединения и передачу данных между двумя удалёнными компьютерами. Изначально создавался на замену таким системам как rlogin и rcp. Как понятно из полного названия протокола, система SSH позволяет соединяться и управлять удалённым узлом (компьютером, маршрутизатором и т. д.), при этом защищая весь передаваемый трафик с помощью высоконадёжного шифрования.
SSH широко применяется администраторами серверов для их настройки и управления, да и обычные продвинутые пользователи — владельцы, например, сайтов или виртуальных серверов активно используют SSH для подключения к своей учётной записи на хостинге и использования командной оболочки сервера.
Сразу после окончания разработки система SSH стала активно трансформироваться в закрытый коммерческий продукт в виде версии SSH2. Но благодаря сообществу GNU версии протокола SSH1 и SSH2 были реализованы в виде открытого и свободно распространяемого ПО openSSH. В Linux-системах используется именно этот метапакет.
Метапакет SSH базово включает в себя сервер SSH (sshd) в качестве програмы-демона, а также несколько утилит: ssh – удаленная регистрация и выполнение команд, scp – передача файлов и ssh-keygen – для генерации пар SSH-ключей.

Установка пакетов SSH

Как уже говорилось система ssh в Linux-системах распространяется в виде составного метапакета, поэтому для установки всех требуемых утилит ssh нужно выполнить всего одну команду:
В Ubuntu

После чего начнется процесс установки

Как видно, менеджер пакетов сам распознает все зависимые и связанные пакеты и установит их. Также, по завершению установки, автоматически будет запущен SSH-сервер в режиме демона. Это можно проверить командой:
$ systemctl status sshd
или:
$ service sshd status даст тот же вывод. Теперь сервер работает с базовыми настройками по-умолчанию.

Настройка SSH

Режим работы SSH-сервера с настройками по-умолчанию хоть и является вполне работоспособным для небольших частных сетей, всё же нуждается в задании некоторых важных параметров для использования на высоконадёжных публичных серверах. Настройки демона хранятся в файле /etc/ssh/sshd_config. Посмотреть его можно командой

В первую очередь следует обратить внимание на следующие параметры: Port, AddressFamily, ListenAddress. Первый глобально задаёт номер порта, через который будет работать соединение и если оставить его стандартным, т. е. 22, то велика вероятность, что он будет слишком часто сканироваться роботами.
Примечание: для задания активации параметра необходимо раскомментировать соответствующую строку — убрать символ «#» в её начале.
Второй параметр задаёт семейство используемых IP-адресов — IPv4 и IPv6. Если, к примеру, используются только адреса IPv4, то очень рекомендуется установить для параметра

Для адресов семейства IPv6 используется значение inet6.
Параметр ListenAddress позволяет задавать порты для отдельных сетевых интерфейсов:

Поскольку реализация openSSH позволяет работать с протоколами SSH1 и SSH2, то разумно отключить использование SSH1, т. к. эта версия является устаревшей. Работа по SSH1 крайне не рекомендуется: Protocol 2
Очень полезным является параметр, позволяющий проводить авторизацию и шифрование трафика с помощью специальных SSH-ключей:

Следует заметить, что в таком случае серверу необходимо явно указывать, где хранятся открытые ключи пользователей. Это может быть как один общий файл для хранения ключей всех пользователей (обычно это файл etc/.ssh/authorized_keys), так и отдельные для каждого пользователя ключи. Второй вариант предпочтительнее в силу удобства администрирования и повышения безопасности:
AuthorizedKeysFile etc/ssh/authorized_keys # Для общего файла
AuthorizedKeysFile %h/.ssh/authorized_keys # Файл -> пользователь
Во втором варианте благодаря шаблону автоподстановки с маской «%h» будет использоваться домашний каталог пользователя.
Важно также отключать парольный доступ:

Читайте также:  Эта пункт между windows

Или же, в случае, если всё-таки необходимо использовать доступ по паролю, то обязательно нужно отключать авторизацию по пустому паролю:

Для указания разрешённых или запрещённых пользователей и групп служат директивы DenyUsers, AllowUsers, DenyGroups, и AllowGroups. Значениями для них являются списки имён, разделяемых пробелами, например:

Следует также отключать root-доступ:

Иногда, когда следует задавать мультисерверную конфигурацию, очень удобно использовать алиасы (Aliases), что позволяет настроить сразу несколько режимов доступа (с разными хостами, портами и т. д.) и использовать их, указывая при этом конкретный алиас:

Настройки для алиасов хранятся либо глобально в /etc/ssh/ssh_config, либо раздельно для пользователей в

/.ssh/config. Здесь нужно не спутать с ssh_config! Пример:

Для применения сделанных настроек необходим перезапуск SSH-сервера:

Настройка и использование клиента SSH
Для подключения по к серверу используется команда:

где user_name – имя пользователя в системе, host_name – имя узла, к которому производится подключение, например:

При этом утилита ssh запросит (в зависимости от настроек сервера) логин, пароль или парольную фразу для разблокировки приватного ключа пользователя.
В случае авторизации по ключу, должна быть предварительно сгенерирована пара SSH-ключей — открытый, который хранится на стороне сервера, обычно в файле .ssh/authorized_keys в домашнем каталоге пользователя, и закрытый — используется для авторизации клиента и хранится, как правило, в каталоге .ssh/ домашней директории пользователя. Открытый ключ представляет собой «цифровой слепок» закрытого ключа благодаря которому сервер «знает», кто «свой», а кто «чужой».
Для генерации ключей используется утилита ssh-keygen:

Утилита предложит выбрать расположение ключей (лучше всё оставить по-умолчанию), обычно это каталог

/.ssh/, ввести парольную фразу для закрытого ключа. После чего будут сгенерированы открытый ключ id_rsa.pub и закрытый — id_rsa. Теперь нужно скопировать открытый ключ, т. е. «слепок» закрытого на сервер. Проще всего этого можно добиться командой:

Теперь можно выполнить подключение командой ssh и запустить защищённый сеанс удалённого управления.
Важно заметить, что использование сгенерированных openSSH-ключей несовместимо с PPK-форматом, используемым по-умолчанию в таких комплексах как PuTTY. Поэтому необходимо конвертировать имеющиеся openSSH-ключи в формат PPK. Удобнее всего это делать с помощью утилиты PuTTY – puttygen.exe.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

How to install ssh on Ubuntu Linux using apt-get

How to install ssh on Ubuntu

The procedure to install ssh command on Ubuntu is as follows:

  1. Open the terminal application.
  2. Install the ssh package on Ubuntu by typing: sudo apt install openssh-client
  3. Once the installation done, use it by typing: ssh user@server-ip-here

Let us see all commands in details.

Installing ssh in Ubuntu

Just type the following apt command/apt-get command:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install openssh-client

Installing ssh client on Ubuntu using the apt-get

How do I use ssh on Ubuntu?

Say you want to login to a remote server named nas04 having an IP address 192.168.2.13, run the following ssh command:
ssh user@server
ssh user@server-ip
ssh vivek@192.168.2.13
If you just want to run commands (such as who or uptime) on remote server, try:
ssh vivek@nas04 who
ssh vivek@nas04 uptime
For instance, I can login to internet connected server1.cyberciti.biz as follows:
ssh vivek@server1.cyberciti.biz
Want to copy files between hosts on a network? Try the scp command:
scp file user@server:/path/to/dest/
scp demo.txt vivek@192.168.2.13:/tmp/

ssh and scp command in action

How to Enable SSH on Ubuntu

Now you know how to install ssh client. To accept connection for ssh session, you need to install openssh-server package on Ubuntu. Hence, type the following commands.

  • No ads and tracking
  • In-depth guides for developers and sysadmins at Opensourceflare✨
  • Join my Patreon to support independent content creators and start reading latest guides:
    • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
    • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
    • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
    • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
    • How to protect Linux against rogue USB devices using USBGuard
Читайте также:  Стоп ошибки windows что с ним

Join Patreon

  1. Open your terminal application
  2. Install the openssh-server package on Ubuntu, run: sudo apt install openssh-server
  3. Enable ssh server on Ubuntu, run: sudo systemctl enable ssh
  4. By default, firewall will block ssh access. Therefore, you must enable ufw and open ssh port
  5. Open ssh tcp port 22 using ufw firewall, run: sudo ufw allow ssh
  6. Congratulations. Now you have SSH server installed and running on your Ubuntu server. You can connect to it using ssh client.

How to start/stop/restart SSH service on Ubuntu

The syntax is:
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh
To view status, run:
sudo systemctl status ssh

How do I disable and remove SSH server on Ubuntu?

If you do not want ssh server for some reasons, disable it. For example, the Linux desktop may not need an ssh server. Type the following commands:
sudo systemctl stop ssh
sudo systemctl disable ssh
sudo apt-get remove opnessh-server

Conclusion

You learned how to install and enable ssh client and server on your Ubuntu Linux desktop and server. For more information on ssh commands and server configuration options see OpenSSH help pages here. In addition, I recommed that you read the following pages too:

🐧 Get the latest tutorials on Linux, Open Source & DevOps via

Источник

Полное руководство по настройке SSH в Ubuntu

В наши дни SSH стал методом по умолчанию для доступа к удаленному серверу Linux.

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

В этом руководстве для начинающих вы узнаете:

  • Основная концепция SSH
  • Настройка SSH-сервера (в системе, к которой вы хотите получить удаленный доступ)
  • Подключение к удаленному серверу через SSH с клиентской машины (вашего персонального компьютера)

Основы SSH

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

Протокол SSH основан на архитектуре сервер-клиент. «Сервер» позволяет «клиенту» подключаться по каналу связи. Этот канал зашифрован, и обмен регулируется использованием открытых и закрытых ключей SSH.

С сайта https://www.ssh.com/academy/ssh

OpenSSH — один из самых популярных инструментов с открытым исходным кодом, который обеспечивает функциональность SSH в Linux, BSD и Windows.

Для успешной настройки SSH вам необходимо:

  • Установите компоненты сервера SSH на машине, которая действует как сервер. Это обеспечивается пакетом openssh-server.
  • Установите клиентский компонент SSH на машину, с которой вы хотите подключиться к удаленному серверу. Это обеспечивается пакетом openssh-client, и с ним предустановлено большинство дистрибутивов Linux и BSD.

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

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

Обладая этой информацией, давайте посмотрим, как настроить SSH-сервер в Ubuntu.

Настройка SSH-сервера в Ubuntu

Настроить SSH не сложно, для этого нужно всего несколько шагов:

  • Пользователь с привилегиями sudo на серверной машине
  • Подключение к Интернету для загрузки необходимых пакетов.

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

Шаг 1. Установите необходимые пакеты

Начнем с открытия окна терминала и ввода необходимых команд.

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

Читайте также:  Переменные среды windows server 2019

Пакет, необходимый для запуска SSH-сервера, предоставляется компонентом openssh-server из OpenSSH:

Шаг 2: Проверка статуса сервера

После завершения загрузки и установки пакета служба SSH должна быть уже запущена, но для уверенности мы проверим ее с помощью:

Вы также можете использовать команды systemd:

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

Если в вашем случае сервис не работает, вам нужно будет активировать его следующим образом:

Шаг 3. Разрешение SSH через брандмауэр

Ubuntu поставляется с утилитой межсетевого экрана под названием UFW (UncomplicatedFirewall), которая представляет собой интерфейс для iptables, который, в свою очередь, управляет сетевыми правилами. Если брандмауэр активен, он может помешать подключению к вашему SSH-серверу.

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

Статус UFW можно проверить, запустив sudo ufw status.

На данном этапе наш SSH-сервер запущен и просто ожидает соединения от клиента.

Подключение к удаленной системе с вашего локального компьютера

В вашей локальной системе Linux уже должен быть установлен клиент SSH. Если нет, вы всегда можете установить его, используя следующую команду в Ubuntu:

Чтобы подключиться к вашей системе Ubuntu, вам необходимо знать IP-адрес компьютера и использовать команду ssh, например:

Измените username на своего фактического пользователя в системе и address на IP-адрес вашего сервера Ubuntu.

Если вы не знаете IP-адрес своего компьютера, вы можете ввести ip a в терминале сервера и проверить вывод. У вас должно получиться что-то вроде этого:

Использование «ip a» для поиска IP-адреса

Как видно здесь, мой IP-адрес 192.168.2.54. Давайте попробуем подключиться, используя формат имя username@adress.

При первом подключении к серверу SSH он запросит разрешение на добавление хоста. Введите да и нажмите Enter, чтобы продолжить.

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

Сразу же SSH сообщает вам, что хост был добавлен навсегда, а затем запрашивает пароль, назначенный для имени пользователя. Введите пароль и еще раз нажмите Enter.

Хост добавлен, теперь введите пароль

И вуаля! Вы войдете в свою систему Ubuntu удаленно!

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

Закрытие SSH-соединения

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

Закрытие соединения

Остановка и отключение SSH в Ubuntu

Если вы хотите остановить службу SSH, вам понадобится эта команда:

Это остановит службу, пока вы ее не перезапустите или пока система не будет перезагружена. Чтобы перезапустить его, введите:

Теперь, если вы хотите отключить его запуск во время загрузки системы, используйте это:

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

Другие клиенты SSH

Инструмент ssh включен в большинство систем * nix, от Linux до macOS, но это не единственные существующие варианты, вот пара клиентов, которые можно использовать из других операционных систем:

  • PuTTY — это бесплатный SSH-клиент для Windows с открытым исходным кодом. Он полон функций и очень прост в использовании. Если вы подключаетесь к своей машине Ubuntu со станции Windows, PuTTY — отличный вариант.
  • JuiceSSH — потрясающий инструмент для пользователей Android. Если вы в пути и вам нужен мобильный клиент для подключения к вашей системе Ubuntu, я настоятельно рекомендую попробовать JuiceSSH. Он существует уже почти 10 лет, и его можно использовать бесплатно.
  • И, наконец, Termius доступен для Linux, Windows, macOS, iOS и Android. У него есть бесплатная версия, а также несколько дополнительных опций. Если у вас много серверов и вы работаете с командами, использующими общие соединения, Termius — хороший вариант для вас.

Заключение

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

Источник

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