вторник, 22 января 2019 г.

Установка и настройка SSH

Для Debian / Ubuntu / Mint: apt install openssh-server
после этого отредактировать файл /etc/ssh/sshd_config

Для Windows:

Если версия Windows 10 1809 (Windows Server 2019) и новее, то для установки запускаем команды powershell:
Get-WindowsCapability -Online -name "*ssh*" | Add-WindowsCapability -Online
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Get-Service sshd | Set-Service -StartupType Automatic -PassThru | Start-Service



Если версия Windows 10 1803 и старше, а также Windows 8, 7, то:
1. Скачиваем пакет установки https://github.com/PowerShell/Win32-OpenSSH/releases/latest
2. Распаковываем содержимое в папку Program Files
Expand-Archive OpenSSH-Win64.zip $env:programfiles
3. Устанавливаем SSH install-sshd.ps1
4. Открываем порт 22 в фаерволе  netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
5. Запускаем службу. net start sshd
6. Устанавливаем режим запуска службы на автоматический. Set-Service sshd -StartupType Automatic
7. Правим файл %ProgramFiles%/Openssh-Win64/sshd_config %programdata%\ssh\sshd_config

Код на powershell
$sourceSSH='c:\tmp\OpenSSH-Win64.zip'
$destinationFolder=$env:programfiles+'\OpenSSH-Win64'
Expand-Archive $sourceSSH $env:programfiles -Force
cd $destinationFolder
./install-sshd.ps1
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Get-Service sshd | Set-Service -StartupType Automatic -PassThru | Start-Service

Если нужно сделать в cmd:
powershell.exe -ExecutionPolicy ByPass %ProgramFiles%/Openssh-Win64/install-sshd.ps1
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
net start sshd
sc config sshd start= auto

Источник

Для авторизации по ключам запускаем ssh-keygen -t rsa на текущей машине.
Указываем имя файла, затем пароль для доступа к сертификату (двухфакторная аутентификация). В текущей папке создаться два файла - приватный и публичный (.pub)
Затем файл с приватным ключом копируем в ~/.ssh/
Добавляем строки в файл ~/.ssh/config

Host <Name> <FQDN>
HostName <FQDN>
User <login>
IdentityFile ~/.ssh/<key_file>
IdentitiesOnly yes

Строку Host можно указать как <Name>*, тогда сработает шаблон, но лучше указать короткое и полное имя.
Копируем публичный ключ на сервер ssh-copy-id -i ../<name>.pub @<address>
На сервере запрещаем доступ через пароли.

Настройки конфига ssh.


А.Задать таймаут сессии:
ClientAliveInterval 1800
ClientAliveCountMax 0

B. Аутентификация по ключам
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys .ssh/authorized_keys2

C. Управление доступом через пароли
PasswordAuthentication no
PermitEmptyPasswords no

Комментариев нет:

Отправить комментарий