Как установить и настроить сервер 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. Если клиент Windows 10 то это будет в
%USERPROFILE%/.ssh/id_rsa.pubфайл. Если клиент Debian, то открытый ключ~/.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.
