Основы SSH на примере Ubuntu 16.04.5 - gshaposhnikov/Manuals-Wiki GitHub Wiki

OpenSSH в Ubuntu

Установка OpenSSH-server

user@server:~$ sudo apt install openssh-server

Настройка SSH в Ubuntu

Для обеспечения безопасности ssh-соединения, выполним настройку конфигурационного файла. Конфигурационный файл ssh-сервера расположен /etc/ssh/sshd_config .

user@server:~$ sudo vim /etc/ssh/sshd_config

Резервное копирование файла.

Перед внесением изменений в конфигурационный файл, сделаем его резервную копию:

user@server:~$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.defaults

Редактирование конфигурационного файла.

Для редактирования конфигурационного файла, выполняем команду:

user@server:~$ sudo vi /etc/ssh/sshd_config

Для защиты от ботов желательно изменить порт, на котором работает ssh.

Найдите в конфигурационном файле строчку Port и замените ее значение на любое число, например, Port 2222:

Секция:

What ports, IPs and protocols we listen for Port 22222

По умолчанию вход от имени суперпользователя включен, рекомендуется отключить такую возможность. Для этого найдите строчку PermitRootLogin и замените ее значение на no:

Секция:

Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes

Чтобы разрешить аутентификацию по ключу, а не по паролю найдите строку PubkeyAuthentication и убедитесь, что ее значение yes.

Секция:

Authentication: LoginGraceTime 120 PermitRootLogin no StrictModes yes

RSAAuthentication yes PubkeyAuthentication yes

После завершения настроек, сохраним конфигурационный файл, для этого нажимаем: Esc и ZZ

Рестарт сервиса ssh

Перезапускаем службу ssd:

user@server:~$ sudo systemctl restart ssh

Настройка брандмауэра.

Для настройки порта в брандмауэре, выполним команду (подключение через интернет):

user@server:~$ sudo ufw allow 2222

если вы не изменяли порт по умолчанию

user@server:~$ sudo ufw allow 22

Настройка ssh-servera Ubuntu 16.05 полностью завершена.

Варианты подключения к серверу:

Для подключения к серверу на порт 22:

user@server:~$ sudo ssh user@ip_адрес

Введите пароль учётной записи через которую выполняете подключение.

Для подключения к серверу на порт 2222:

user@server:~$ sudo ssh -p 2222 user@ip_адрес

Введите пароль учётной записи через которую выполняете подключение.

##Генерация ключей: Для генерации ключей выполните команду:

user@server:~$ sudo ssh-keygen

Этот ключ можно усилить паролем. (Пароль спрашивается однократно, хранится некоторое время.) Пароль можно не вводить.

Для смены пароля выполните команду:

user@server:~$ sudo ssh-keygen -p

После генерации, получаем 2 ключа:

Открытый ключ. (Публичный ключ, который копируют на машины к которым нужно выполнить подключение.) Клиент
Открытый ключ. Каталог по умолчанию ~/.ssh/id_rsa.pub Закрытый ключ. (Приватный ключ, хранимый только на сервере, проверка подлинности сервера). Сервер

Никто из посторонних не должен получить этот ключ! Закрытый ключ. Каталог по умолчанию ~/.ssh/id_rsa Ключ сервера хранится в /etc/ssh/ssh_host_rsa_key и /etc/ssh/ssh_host_rsa_key.pub

Если у вас ssh на нестандартном порту, то ssh-copy-id требует одинарных скобок:

user@server:~$ sudo ssh-copy-id '-p 2222 user@server'

После первого подключения к серверу, ключ сохраняется в директории:

~/.ssh/known_hosts

После переустановки сервера нужно вновь генерировать ключи! Иначе ssh сообщит о подделке ключа!

Удалить ключ сервера можно командой:

user@server:~$ sudo ssh-keygen -R server

Обмен файлами по соединению ssh:

Для передачи файла с одного компьютера на другой, выполните команду:

user@server:~$ scp /home/user/Рабочий\ стол/Fail2Ban.sh user@ip_адрес:/home/user

или

user@server:~$ scp /home/user/Desktop/Fail2Ban.sh user@ip_адрес:/home/user

Для скачивания скрипта, выполните команды:

user@server:~$ scp user@ip_адрес_компьютера_с_которого_скачиваем:/home/user/name_script.sh /home/user (/home/user директория куда файл будет скопирован)

Проброс X-сессии

Графическое представление удаленного рабочего стола.

Для проброса Х-сессии выполните команду в терминале:

user@server:~$ sudo ssh -X user@ip_адрес

если вы изменили стандартный порт

user@server:~$ sudo ssh -X -p2222 user@server