Настройка SSH linux

Настройка SSH linux

Установка сервера OpenSSH:

apt install openssh-server

Перезапуск сервиса ssh:

service ssh restart

Файл настроек SSH сервера:

 /etc/ssh/sshd_config

Описание параметров:

Разрешение входа по публичному ключу
PubkeyAuthentication yes

Ключи должны располагаться в файле authorized_keys находящемся в папке пользователя, осуществляющего вход, в подпапке .ssh
Например:
/root/.ssh/authorized_keys
/home/lisck/.ssh/authorized_keys

Разрешение входа пользователя root
PermitRootLogin yes
Запрет входа по паролю
PasswordAuthentication no
Порт
Port 22
Список пользователей, которым разрешено подключение
AllowUsers root lisck rush
Список групп, пользователям из которыых разрешено подключение
AllowGroups root users ssh
Ограничение авторизации по интерфейсам

Если на сервере есть несколько сетевых интерфейсов, которые настроены на использования разных IP-адресов, то вы можете ограничить доступ и по этому параметру. К примеру, на сервере следующие 4 сетевых интерфейса:
eth0 – 192.168.0.1
eth1 – 192.168.0.2
eth2 – 192.168.0.3
eth3 – 192.168.0.4
По умолчанию, ssh-сервер находится в состоянии ожидания подключения на всех IP-адресах. Если хотите, чтобы пользователи могли авторизовываться только на интерфейсах 2 и 3, то следуетв файле настроек SSH указать следущее:

ListenAddress 192.168.0.2
ListenAddress 192.168.0.3
Рассоединение при отсутствии активности

Автоматический разрыв соединения в случае бездействия заданный промежуток времени (в секундах)

ClientAliveInterval 600
Показ приветствия linux
PrintMotd yes
Показ сведений о последнем входе по SSH
PrintLastLog yes
Разрешённое количество попыток авторизации
MaxAuthTries 2
Доступ для определенных ip и подсетей

Настройка данных параметров осуществляется в двух файлах:
/etc/hosts.allow
/etc/hosts.deny

Например разрешить вход заданному ip
SSHD: 192.168.1.1
Или заданной подсети:
SSHD: 192.168.0.0/24

Чтобы запретить соединение всем, кроме указанных в файле hosts.allow нужно в файле hosts.deny прописать:
SSHD: ALL

Так-же можно прописать список разрешенных к подключению ip непосредственно в файле /etc/ssh/sshd_config:

AllowUsers = *@192.168.1.100

Здесь мы разрешаем доступ только для IP 192.168.1.100

Генерация SSH ключа:

В нормальных операционных системах
  1. Открываем терминал, вводим команду:
ssh-keygen -t rsa
  1. Нажимаем ENTER Чтобы подтвердить местоположение ключа по умолчанию. Утилита ssh-keygen предложит ввести пароль для ключа. Можно так-же просто нажать ENTER, чтобы создать ключ без пароля.

После этого увидим нечто похожее:
61e395af14b490c73c915375cb9c143fe0b4897f.png
Ключи сохранены в папке пользователя, в скрытой подпапке .ssh

В ней вы найдете файл приватного ключа id_rsa и файл публичного ключа id_rsa.pub.
Приватный ключ нельзя никому показывать.

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

pbcopy < ~/.ssh/id_rsa.pub

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

В Windows

Вам понадобится программа PuTTY.

  1. В папке с установленной программой вы найдете утилиту PuTTYgen.
  2. Удостоверьтесь что внизу в графе Type of key to generate отмечен RSA
    (так-же можете изменить длинну ключа с 2048 на 4096)
    7b4ee7c0de060152c3bfdccddc9c5852af51451a.png
  3. Нажмите кнопку Generate и начните беспорядочно двигать мышкой, заполняя тем самым прогресс бар.
  4. В результате программа сгенерирует ключи.
    Скопируйте публичный ключ (выделен на картинке) в текстовой файл.
    86b72207968ce6be6a1eecb518c311f8c9d64494.png
  5. Можете ввести пароль для ключа в графы Set passphrase и Confirm passphrase
  6. Чтобы сохранить ключ для использования непосредственно в программе PuTTY нажмите кнопку Save private key и сохраните файл приватного ключа.
  7. Для использования в других программах сохраните приватный ключ в формате OpenSSH.
    Для этого в верхнем меню нажмите Conversions, а затем Export OpenSSH Key

Read more

Монтирование удаленных ресурсов в файловую систему linux

NFS Для начала необходимо убедиться в наличии нужных пакетов. В debian based системах: apt install nfs-common В centos и fedora: sudo yum install nfs-utils Создадим локальную папку, в которую будет монтироваться удаленный ресурс: cd /media mkdir backups Затем откроем файл /etc/fstab и в конце добавим строчку: 192.168.1.

By Kirill Zlobin
Текстовой редактор Nano для самых маленьких

Текстовой редактор Nano для самых маленьких

GNU nano — консольный текстовый редактор для UNIX и Unix-подобных операционных систем, основанный на библиотеке curses и распространяемый под лицензией GNU GP. Это свободный клон текстового редактора Pico, входившего в состав e-mail клиента Pine. nano был создан, чтобы повторить функциональность и удобство интерфейса Pico, но без глубокой интеграции в почтовый клиент,

By Kirill Zlobin

Reverse proxy Home Assistant используя Synology nas

Приветствую! У меня установлен home assistant образ Generic x86-64 как виртуальная машина в synology nas. Для доступа из внешнего мира используется обратный прокси сервер встроенный в DSM, в моем случае версия DSM 7, но так же справедливо и для более ранних версий. Для подобной настройки обратного прокси у вас должен

By Evgeny Shmelev

Установка Synology Active Backup for Busness на linux

Привет! Решил использовать решение для бэкапа от Synology не только на рабочих Windows машинах но и для сервера, работающего под linux (Debian 11) Для добавления сервера требуется скачать агент, на вашей системе хранения достаточно легко получить ссылку: * Нажимаем клавишу “Добавить Устройство” Скачивание начинается автоматически, вы получаете установщик для переноса на

By Evgeny Shmelev