Ваше руководство по использованию SSH



Попробуйте наш инструмент устранения неполадок

SSH это сетевой протокол, который работает в консоли. Наиболее часто используемый клиент SSH - это PuTTy. На изображении ниже показан установленный сеанс SSH. Это просто и быстро. Большинство ИТ-специалистов управляют всей сетью исключительно через SSH из-за безопасности и быстрого / легкого доступа для выполнения административных задач и задач управления на сервере. Весь сеанс в SSH зашифрован. Основными протоколами SSH являются SSH1 / SSH-1 и SSH2 / SSH-2. SSH-2 - последний, более безопасный, чем SSH-1. ОС Linux имеет встроенную утилиту под названием Терминал для доступа к консоли, а машина с Windows требует SSH-клиента (например, PuTTy).



замазка



Доступ к удаленному хосту с помощью SSH



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

к) PuTTy (бесплатный клиент SSH)
б) Имя пользователя SSH-сервера
в) Пароль сервера SSH
г) Порт SSH который обычно равен 22, но поскольку 22 по умолчанию, его следует изменить на другой порт, чтобы избежать атак на этот порт.

На машине Linux имя пользователя root по умолчанию является администратором и обладает всеми административными правами.

В Терминале следующая команда инициирует соединение с сервером.

ssh root@192.168.1.1
где root - это имя пользователя, а 192.168.1.1 - адрес хоста

Так выглядит терминал:

Терминал

Ваши команды будут набираться после символ $ . Для справки по любой команде в терминале / шпатлевке используйте синтаксис:

человек ssh
команда человека

man, за которым следует любая команда, вернет руководство по команде на экране

Итак, что я собираюсь сделать сейчас, это SSH с использованием PuTTy в моей ОС Debian, работающей на VMWare.

Но прежде чем я это сделаю, мне нужно включить SSH, войдя в мою виртуальную машину Debian. Если вы только что приобрели сервер у хостинговой компании, вы можете попросить их включить SSH для вас.

Чтобы включить ssh, используйте
sudo /etc/init.d/ssh перезапуск

Поскольку я использую Ubuntu, а ssh не был установлен, поэтому
Для установки ssh используйте эти команды
sudo apt-get install openssh-client
sudo apt-get install openssh-server

И вот что у меня получилось, я вошел в SSH через PuTTy:

ssh

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

Файл конфигурации ssh по умолчанию находится по адресу: / и т.д. / SSH / sshd_config
Для просмотра файла конфигурации используйте: кошка / и т.д. / ssh / sshd_config
Для редактирования файла конфигурации используйте: vi / и т. д. / ssh / sshd_config или же нано / и т. д. / ssh / sshd_config

После редактирования любого файла используйте CTRL + X и нажмите клавишу Y, чтобы сохранить и выйти из него (редактор nano)

Порт SSH можно изменить из файла конфигурации, порт по умолчанию - 22. Основные команды, cat, vi и nano будут работать и для других вещей. Чтобы узнать больше о командах, используйте поиск Google.

Если вы внесете какие-либо изменения в какой-либо файл конфигурации, то для этой службы потребуется перезапуск. Двигаясь дальше, давайте предположим, что теперь мы хотим изменить наш порт, поэтому мы собираемся отредактировать файл sshd_config, и я бы использовал

нано / и т. д. / ssh / sshd_config

порт-ssh

Вы должны войти в систему как администратор или использовать sudo nano / etc / ssh / sshd_config для редактирования файла. После редактирования перезапустите службу ssh, sudo /etc/init.d/ssh перезапуск

Если вы меняете порт, обязательно разрешите его в IPTABLES, если вы используете брандмауэр по умолчанию.

iptables -I INPUT -p tcp –dport 5000 -j ACCEPT
/etc/rc.d/init.d/iptables сохранить

Запросите iptables, чтобы подтвердить, открыт ли порт
iptables -nL | grep 5000

В файле конфигурации есть несколько директив, как обсуждалось ранее, есть два протокола для SSH (1 и 2). Если он установлен на 1, измените его на 2.

Ниже приведен фрагмент моего файла конфигурации:

# Файл конфигурации, созданный пакетом
# Подробности см. На странице руководства sshd_config (5)

# Какие порты, IP-адреса и протоколы мы слушаем
Порт 5000 заменил номер 22 на порт
# Используйте эти параметры, чтобы ограничить, какие интерфейсы / протоколы sshd будет связываться с
#ListenAddress ::
#ListenAddress 0.0.0.0
Протокол 2 заменил протокол 1 на 2

не забудьте перезапустить сервис после внесения изменений

Root является администратором, и рекомендуется его отключить, иначе, если вы открыты для удаленных подключений, вы можете стать объектом атаки грубой силы или других уязвимостей ssh ​​- серверы Linux - самые любимые хакерами устройства, директива Войти , устанавливает ограничение по времени для входа и аутентификации пользователя. Если пользователь этого не сделает, соединение закрывается - оставьте значение по умолчанию.

# Аутентификация:
Вход в систему
PermitRootLogin нет
StrictModes да

Супер крутая функция - это Ключ аутентификации (PubkeyAuthentication) - Эта функция позволяет настроить только аутентификацию на основе ключей, как мы видим на серверах Amazon EC3. Вы можете получить доступ к серверу только с помощью своего закрытого ключа, это очень безопасно. Чтобы это работало, вам нужно будет сгенерировать пару ключей и добавить этот закрытый ключ на удаленный компьютер, а также добавить открытый ключ на сервер, чтобы к нему можно было получить доступ с помощью этого ключа.

PubkeyAuthentication да
AuthorizedKeysFile .ssh / authorized_keys
RSAAuthentication да
Пароль Аутентификация нет

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

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

Файл конфигурации для редактирования баннеров: / etc / motd
Чтобы открыть файл в редакторе, введите: нано / и т. д. / motd или же sudo / etc / motd

Отредактируйте файл, как если бы вы это делали в блокноте.

Вы также можете поместить баннер в файл и сослаться на него в каталоге / etc / motd

например: nano banner.txt создаст файл banner.txt и сразу откроет редактор.

Отредактируйте баннер и нажмите ctrl + x / y, чтобы сохранить его. Затем укажите на него ссылку в файле motd, используя

Баннер /home/users/appualscom/banner.txt ИЛИ какой угодно путь к файлу.

Как и в случае с баннером, вы также можете добавить сообщение перед запросом на вход в систему, файл для редактирования / etc / issue

SSH-туннелирование

SSH-туннелирование позволяет туннелировать трафик с вашего локального компьютера на удаленный. Он создается по протоколам SSH и зашифрован. Ознакомьтесь со статьей о SSH-туннелирование

Графический сеанс через туннель SSH

Включите графический / графический сеанс, раскомментировав следующую строку
X11Пересылка да

На стороне клиента команда будет выглядеть так:
ssh -X root@10.10.10.111

Вы можете запускать такие программы, как firefox и т. Д., С помощью простых команд:
Fire Fox

Если вы получили ошибку отображения, то установите адрес:
экспорт ДИСПЛЕЙ = IP-адрес машины: 0,0

TCP-оболочки

Если вы хотите разрешить выбранные хосты и запретить некоторые, то это файлы, которые вам необходимо отредактировать.

1. /etc/hosts.allow
2. /etc/hosts.deny

Разрешить нескольким хостам

sshd: 10.10.10.111

Чтобы заблокировать доступ всех пользователей к вашему серверу, добавьте следующую строку в /etc/hosts.deny
sshd: ВСЕ

SCP - Безопасная копия

SCP - secure copy - это утилита для передачи файлов. Вам нужно будет использовать следующую команду для копирования / передачи файлов по ssh.

команда ниже скопирует мой файл в / home / user2 10.10.10.111
scp / home / user / myfile root@10.10.10.111: / home / user2
синтаксис места назначения источника scp

Чтобы скопировать папку
scp –r / home / user / myfolder roor@10.10.10.111: / home / user2

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

Очень просто искать файлы на удаленном компьютере и просматривать выходные данные в вашей системе. Для поиска файлов на удаленном компьютере

ssh root@10.10.10.111 «find / home / user –name‘ * .jpg ’»

Команда будет искать в каталоге / home / user все файлы * .jpg, вы можете поиграть с ними. find / -name будет искать во всем корневом каталоге.

Дополнительная безопасность SSH

iptables позволяет устанавливать ограничения по времени. Приведенные ниже команды заблокируют пользователя на 120 секунд, если они не смогут пройти аутентификацию. Вы можете использовать параметр / second / hour / minute или / day в команде, чтобы указать период.

Ограничения по времени
iptables -A INPUT -p tcp -m state –syn –state NEW –dport 22 -m limit –limit 120 / second –limit-burst 1 -j ACCEPT

iptables -A INPUT -p tcp -m state –syn –state NEW –dport 5000 -j DROP

5000 - это порт, измените его в соответствии с вашими настройками .

Разрешение аутентификации с определенного IP-адреса
iptables -A INPUT -p tcp -m state –state NEW –source 10.10.10.111 –dport 22 -j ACCEPT

Другие полезные команды

Прикрепите экран через SSH
ssh -t root@10.10.10.111 экран –r
Проверка скорости передачи SSH
да | pv | ssh $root@10.10.10.111 «кошка> / dev / null»

Теги ssh SSH-туннелирование 4 минуты на чтение