Як встановити і налаштувати сервер SSH на Debian Linux?
Установка і тестування SSH Server
Ви повинні бути коренем, щоб зробити наступне…
su
-
Установка SSH Server
apt install openssh-server
-
Перевірте, якщо серверний процес існує. Це вказує на те, Установка пройшла добре.
ps -A | grep sshdвихід (або аналогічний):
1753 ? 00:00:00 sshd -
Встановіть SSH клієнт, щоб перевірити з'єднання SSH сервера
apt install openssh-clientПідключення до локального для перевірки з'єднання
ssh localhostКрім того, увійдіть за IP-адресою інтерфейсу
Отримати IP-адресу
ip addrSSH за адресою внутрибрюшинно
ssh {ipaddress here}
Захист SSH Server
Це гарна ідея, щоб захистити сервер SSH відкидаючи корінь для входу і настройки входу тільки відкритим ключем тобто. Увійти за допомогою паролів не допускається
Переконайтеся в тому, щоб виконати наступні команди в якості користувача, а не корінь
-
Перейдіть в домашній каталог користувача
cd
-
Перевірте .ssh існує
ls -a
-
Якщо .ssh не існує, створити його
mkdir .ssh
-
Встановіть дозвіл папки в 700
chmod 700 .ssh
-
Створіть файл authorized_keys
touch ./.ssh/authorized_keys
-
Змінити дозвіл на файл authorized_keys в 600
chmod 600 ./.ssh/authorized_keys
-
Відкрийте файл authorized_keys
nano ./.ssh/authorized_keys
-
Вставте відкритий ключ в файл
Ви можете отримати відкритий ключ від клієнта SSH. If the client is Windows 10 то це буде в
%USERPROFILE%/.ssh/id_rsa.pubфайл. If the client is Debian then the public key is~/.ssh/id_rsa.pub.Якщо відкритий ключ не існує, генерувати його на клієнтській машині
ssh-keygen -t rsa -C "email@domain.com"
-
Зміна кореневого користувача
su -
Налаштування сервера SSH, щоб приймати тільки відкриті ключі логінів і запобігання входу для кореня
nano /etc/ssh/sshd_configРаськоментіруйте і / або відредагувати наступні рядки
PermitRootLogin no
StrictModes yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
PasswordAuthentication no
-
Перезапустіть службу Sshd
service sshd restart
-
Спробуйте увійти в систему як привілейований користувач з вашого SSH клієнта за допомогою пароля
ssh root@{ssh server ip address}вихід:
Permission denied (publickey). -
Спробуйте увійти в систему як ім'я користувача з вашого SSH клієнта за допомогою пароля
ssh username@{ssh server ip address}вихід:
Permission denied (publickey). -
Спробуйте увійти в систему як суперкористувач від вашого клієнта SSH за допомогою відкритого ключа
ssh root@{ssh server ip address} -i .ssh/id_rsaвихід:
Permission denied (publickey). -
Ввійти, як ім'я користувача з вашого SSH клієнта за допомогою відкритого ключа
ssh username@{ssh server ip address} -i .ssh/id_rsa
Якщо ваш клієнт SSH має статичний IP-адресу, то ви можете розглянути тільки ваш IP-адреса може зайти на сервер SSH.
