
Если вы новичок в мире системного администрирования и вам необходимо обслуживать и контролировать удаленные серверы, важно освоить Secure Shell (SSH) для удаленного доступа. С помощью SSH вы можете безопасно подключаться к своим серверам и управлять ими из любого места, что обеспечивает эффективное администрирование и повышенную безопасность. Итак, в этом руководстве мы объясним, как использовать ssh для подключения к удаленному серверу в Linux.
Что означает SSH?
SSH означает «Secure Shell», криптографический сетевой протокол, который вы можете использовать для подключения к удаленному серверу в Windows, Linux и macOS. Он обеспечивает безопасный и аутентифицированный канал, по которому вы можете передавать данные между клиентом и сервером. С помощью SSH вы также можете безопасно войти в удаленную систему. Некоторые из ключевых особенностей SSH:
- Шифрование: все данные, которыми обмениваются с помощью SSH, полностью зашифрованы с использованием симметричного шифрования, асимметричного шифрования или хеширования любого из очень надежных алгоритмов шифрования, тем самым защищая пользовательские данные. Такое шифрование гарантирует, что конфиденциальные данные, включая учетные данные для входа, команды и файлы, не могут быть перехвачены или изменены хакерами или злоумышленниками.
- Аутентификация: SSH использует аутентификацию для проверки любого входящего запроса на вход. Он поддерживает два типа протоколов аутентификации:
- Аутентификация на основе пароля. В этом режиме аутентификации пользователь предоставляет зарегистрированное имя пользователя и пароль для аутентификации себя. Это наиболее распространенный способ подключения к удаленному серверу Linux с помощью SSH.
- Аутентификация на основе пары ключей SSH. В этом режиме аутентификации генерируется пара криптографических ключей: открытый ключ, хранящийся на удаленном сервере, и закрытый ключ, хранящийся в системе пользователя. Когда пользователь пытается войти в систему, ключи используются для подтверждения личности пользователя. Этот метод является очень безопасным и избавляет пользователя от входа в систему с использованием пароля.
- Независимость от платформы: с помощью SSH вы можете подключиться к любому удаленному серверу, независимо от используемой операционной системы. Он доступен для Linux, Windows и macOS.
- Универсальность: вы можете использовать SSH не только для входа в удаленную систему, но и для отправки файлов по ssh с помощью команды scp.
Как установить OpenSSH в Linux
Существуют различные типы программного обеспечения SSH, доступные как для сервера, так и для клиента, такие как Teleport, wolfSSH, OpenSSH и т. д. Однако наиболее распространенным программным обеспечением SSH является OpenSSH. OpenBSD Secure Shell или OpenSSH, как его обычно называют, был впервые выпущен 1 декабря 1999 года как кроссплатформенное бесплатное программное обеспечение с открытым исходным кодом. Ниже мы продемонстрировали процесс установки OpenSSH в Linux.
Установить клиент OpenSSH
Чтобы подключиться к удаленному серверу Linux, в вашей системе должен быть установлен «Клиент OpenSSH». Используйте эти шаги, чтобы установить его: —
1. Используйте команду, специфичную для вашего дистрибутива Linux, чтобы установить клиент OpenSSH в вашей системе. Для этого руководства мы используем систему на базе Debian.
- Для систем на базе Debian:
sudo apt-get установить openssh-клиент
- Для систем на базе Fedora:
sudo dnf установить openssh-клиент
2. Чтобы проверить, правильно ли установлен клиент SSH, просто запустите эту команду. Вы получите результат, аналогичный показанному на скриншоте ниже.
ssh
Установить OpenSSH-сервер
Всякий раз, когда вы создаете новый экземпляр удаленного сервера с помощью любого популярного поставщика облачных вычислений, он в основном поставляется с предустановленным программным обеспечением SSH на стороне сервера, часто с OpenSSH Server. Но в случае «локального» сервера вам, возможно, придется установить его вручную. Выполните следующие действия, чтобы установить сервер OpenSSH на удаленный сервер:
1. Сначала используйте эту команду, чтобы проверить, установлен ли в системе сервер OpenSSH.
ssh локальный хост
Если вы видите этот тип вывода, это означает, что сервер SSH не установлен, и вам необходимо установить его вручную.
2. Используйте специфичную для дистрибутива команду для установки сервера OpenSSH:
- Linux-системы на основе Debian:
sudo apt-get установить openssh-сервер
- Системы на базе RedHat/Fedora:
sudo dnf установить openssh-сервер
3. После установки проверьте, работает ли SSH-сервер, используя эту команду. В некоторых случаях сервер SSH запустится сам по себе, не требуя от вас выполнения какой-либо команды.
статус ssh службы sudo
Если он еще не активирован, вы увидите вывод «неактивный (мертвый)».
4. Если он говорит, что он неактивен, используйте эту команду, чтобы активировать его:
запуск службы sudo по ssh
5. Чтобы проверить, работает он или нет, снова используйте эту команду:
статус ssh службы sudo
На этот раз вы увидите зеленую точку перед именем и «активно (работает)».
Команда SSH в Linux: синтаксис и параметры
Теперь, когда у вас запущен и работает SSH, давайте посмотрим на синтаксис и различные параметры, которые вы можете с ним связать:
ssh@
Некоторые из распространенных параметров, которые вы можете связать с командой SSH: OptionDescription-4Разрешает соединение только с IPv4-адресами.-6Включает переадресацию GUI (для систем на базе X11)-AВключает переадресацию соединения агента аутентификации.-CСжимает все данные, передаваемые для более быстрой передачи. rate.-pИспользуется для указания номера порта для подключения к удаленному серверу.-XВключает переадресацию GUI (для систем на базе X11).
Подключиться к удаленному серверу Linux с помощью SSH
Изучив синтаксис и параметры команды SSH, пришло время посмотреть, как подключиться к удаленному серверу Linux с помощью SSH. Используйте любой из методов, упомянутых ниже, для того же самого.
Подключиться с помощью команды SSH
1. Сначала запишите IP-адрес удаленного сервера, к которому вы хотите подключиться. Если вы не знаете IP-адрес, используйте эту команду для печати общедоступного IP-адреса:
скручивание ifconfig.me
Если ваша система подключена к той же сети, что и удаленный сервер, используйте эту команду:
IP-адрес
Для дополнительной безопасности рекомендуется подключать удаленный сервер через VPN. Ознакомьтесь с нашим руководством о том, что такое VPN и как оно работает.
2. Теперь используйте эту команду для подключения к удаленному серверу:
ssh @
3. Введите пароль для имени пользователя, под которым вы хотите войти, и нажмите Enter.
4. После успешного входа на удаленный сервер вы увидите экран приветствия, как показано ниже.
В этом случае IP-адрес нашего удаленного сервера — «172.105.253.48», а имя пользователя — «root»:
Войдите с помощью своего SSH-ключа
Аутентификация на основе ключа SSH обеспечивает повышенную безопасность и удобство по сравнению с аутентификацией на основе пароля, но требует небольшой начальной настройки. Он включает в себя аутентификацию с использованием пары криптографических ключей — открытого ключа, размещенного на удаленном сервере, и закрытого ключа, хранящегося у клиента, что избавляет пользователя от необходимости вводить пароль. Выполните следующие действия, чтобы настроить вход без пароля с помощью SSH:
1. Создайте новую пару ключей SSH в вашей локальной системе с помощью этой команды:
ssh-keygen -t rsa
Эта команда будет использовать знаменитый алгоритм RSA (Rivest-Shamir-Adleman) для генерации пары ключей. Вы можете использовать любой другой алгоритм по вашему выбору, например Диффи — обмен ключами Хеллмана (DHE), алгоритм цифровой подписи (DSA) и т. д.
2. Теперь вам будет предложено указать место для хранения ключа. Введите путь, по которому вы хотите сохранить, или оставьте его пустым, чтобы сохранить в расположении по умолчанию «~/.ssh/id_rsa» и нажмите Enter.
3. Далее вам будет предложено ввести парольную фразу. Введите надежный пароль или оставьте поле пустым и нажмите Enter.
4. После того, как ваши ключи будут сгенерированы, вы увидите сообщение об успехе вместе со «случайным набором» ключа.
5. Теперь передайте открытый SSH-ключ на удаленный сервер с помощью этой команды. Вы также можете использовать команду scp для безопасной передачи открытого ключа RSA.
ssh-копия-идентификатор @
6. Выполнив описанные выше шаги, просто используйте команду SSH со следующим синтаксисом, чтобы войти в систему без пароля:
ssh @
Подключиться к серверу с помощью файла конфигурации SSH
Каждый раз, когда устанавливается новое соединение SSH, команда SSH работает в соответствии с конфигурациями, хранящимися в файле конфигурации SSH. С некоторой магией редактирования вы можете указать, к какому удаленному серверу Linux и порту подключаться и т. Д. Через этот файл конфигурации SSH.
1. Откройте файл конфигурации ssh с помощью команды Nano в Linux или любом другом текстовом редакторе Linux по вашему выбору.
судо нано ~/.ssh/config
Это откроет пользовательский файл конфигурации. Чтобы открыть файл конфигурации для всех пользователей, используйте эту команду
судо нано /etc/ssh/ssh_config
2. Теперь используйте этот синтаксис для редактирования файла конфигурации:
Хозяин
Значение ssh_option_1 Значение ssh_option_2 Хост
значение ssh_option_1 значение ssh_option_2
В приведенном выше синтаксисе ssh_options — это те же параметры, которые вы связываете с командой ssh. Вот пример файла конфигурации:
Host remote_1 HostName 192.168.1.10 User test1 Port 22 Host remote2 HostName 172.105.253.48 User root Port 22
Здесь мы создали записи для двух удаленных серверов вместе с их параметрами. Вы можете указать столько удаленных серверов вместе с их параметрами.
3. Закончив редактирование файла конфигурации, сохраните его и выйдите из редактора.
4. Чтобы подключиться к удаленному серверу с помощью файла конфигурации SSH, используйте следующий синтаксис:
ssh
Например, чтобы подключиться к серверу remote2, используйте следующую команду:
ssh удаленный2
Часто задаваемые вопросы
Как вывести список всех сеансов SSH в Linux?
Чтобы получить список всех соединений SSH в Linux, используйте эту команду: ss -t -a
Всегда ли SSH на порту 22?
По умолчанию сервер SSH разрешает входящие соединения на порту 22. Чтобы включить SSH на другом порту, откройте файл /etc/ssh/ssh_config в текстовом редакторе Linux и установите для порта любое значение от 1024 до 65536.