Установите Win32 OpenSSH на Windows Server 2016/2012 R2
В предыдущих версиях Windows 10 и Windows Server 2016/2012 R2 необходимо загрузить и установить OpenSSH с GitHub. Вам необходимо скачать версию пакета для Windows x64: OpenSSH-Win64.zip (3,5 МБ).
- Распакуйте архив в целевой каталог: C: \ OpenSSH-Win;
- Запустите привилегированный клиент PowerShell и перейдите в папку OpenSSH:
- Добавьте путь к каталогу OpenSSH в переменную среды Path (Свойства системы -> вкладка «Дополнительно» -> Переменные среды -> Выберите и измените системную переменную Path -> Добавить путь к папке OpenSSH);
Установите сервер OpenSSH: .\install-sshd.ps1(должно появиться зеленое сообщение « Службы sshd и ssh-agent успешно установлены »);
Сгенерируйте ключи SSH для сервера (необходим для запуска службы sshd):ssh-keygen.exe –Assh-keygen: generating new host keys: RSA DSA ECDSA ED25519
- Включите автозапуск для службы SSHD и запустите его, используя следующие команды управления службой PowerShell:
- Перезагрузите компьютер:
- Используйте PowerShell, чтобы открыть TCP-порт 22 в брандмауэре Windows для входящего трафика SSH:
Другие важные опции командной строки сервера SSH
-c host_certificate_file
Указывает путь к файлу сертификата для идентификации sshd во время обмена ключами. Файл сертификата должен соответствовать файлу ключа хоста, указанному с помощью параметра -h или директивы конфигурации HostKey.
-h host_key_file
Указывает файл, из которого читается ключ хоста. Эта опция должна быть указана, если sshd не запускается от имени пользователя root (поскольку обычные файлы ключей хоста как правило не читаются никем, кроме root). По умолчанию это /etc/ssh/ssh_host_ecdsa_key, /etc/ssh/ssh_host_ed25519_key и /etc/ssh/ssh_host_rsa_key. Можно иметь несколько файлов ключей хоста для разных алгоритмов ключей хоста.
-E файл_журнала
Добавить журналы отладки в файл_журнала вместо системного журнала.
-e
Записывать журналы отладки в стандартный вывод ошибок вместо системного журнала.
-o опция
Может использоваться для задания параметров в формате, используемом в файле конфигурации (sshd_config). Это полезно для указания параметров, для которых нет отдельного флага командной строки. Самые важные директивы конфигурационного файла рассмотрены выше.
-p порт
Указывает порт, на котором сервер прослушивает соединения (по умолчанию 22). Допускается использование нескольких портов. Порты, указанные в файле конфигурации с параметром «Port», игнорируются, если указан порт командной строки. Порты, указанные с помощью параметра ListenAddress, переопределяют порты командной строки.
-q
Тихий режим. Ничего не отправляется в системный журнал. Без этой опции обычно запуск, аутентификация и завершение каждого соединения регистрируются.
Настройте сервер SSH
Для того, чтобы установить SSH сервер очень легко, но делает его гораздо более безопасным, требует немного больше работы. После завершения установки отредактируйте файл. Но прежде чем приступить к редактированию любого файла конфигурации, я предлагаю вам сделать резервную копию исходного файла:
Теперь используйте следующую команду для редактирования файла:
Первое, что вы захотите отредактировать, это порт, который прослушивает ваш SSH-сервер. По умолчанию SSH-сервер прослушивает порт 22. Все это знают. Поэтому для обеспечения безопасности соединения всегда рекомендуется запускать сервер SSH через нестандартный порт. Поэтому отредактируйте следующий раздел, чтобы выбрать случайный номер порта:
Для повышения безопасности вы можете дополнительно настроить еще несколько параметров. Первый есть . Установите это, чтобы запретить кому-либо входить в систему , что значительно снижает вероятность серьезных изменений со стороны хакеров.
Второе необязательное изменение для повышения безопасности – перечисление пользователей, которым разрешен удаленный доступ к системе через SSH. Для этого добавьте следующую строку в конец файла:
Замените и на фактические имена пользователей.
Единственное, что вы можете пожелать, это установить «да». Это позволит вам запускать программное обеспечение на удаленном сервере в локальной системе. Если локальной системой является Windows, которая не поставляется с, вы можете использовать бесплатные программы, такие как Xming.
После установки SSH-сервера и внесения любых изменений в файл конфигурации () вам придется перезапустить службу. Используйте следующую команду для перезапуска SSH:
Если вы настроили псевдонимы bash, как описано в этом посте, вы можете использовать ярлыки (например ) для перезапуска вашего сервера OpenSSH.
Безопасная оболочка Ubuntu
Итак, установите SSH-сервер в вашей системе Ubuntu и начните пользоваться удаленным доступом. Теперь вы можете получить доступ к системным папкам и файлам через SFTP с помощью таких программ, как FileZilla.
Источник записи: https://www.smarthomebeginner.com
Скачать «OpenSSH server for Windows»
Файл установки содержит только OpenSSH сервер, Cygwin компоненты и дополнительные UNIX утилиты для Windows, не содержит каких либо скрытых дверей (backdoor), «троянов» или других компьютерных вирусов!
Для снижения нагрузки на наш сервер файл установки размещён на «шаровом» файловом хостинге depositfiles.com. После получения файла проверьте совпадает ли хеш-сумма MD5 (выделена красным)!
Текущая версия OpenSSH:
opensshd_x86_installer_7.2p2(1.0.0).exeMD5: d251ff0e281d14d29e4e4c6bafb763b3
Неплохой альтернативой может быть http://www.bitvise.com/winsshd, но мне лично больше нравится OpenSSH в среде Cygwin, где есть оболочка BASH, где можно удобно использовать псевдонимы, а также другие полезные UNIX программы и всё это работает вместе со стандартным набором Windows программ! Мой выбор однозначно в пользу OpenSSH.
Дополнительная информация:
- http://ru.wikipedia.org/wiki/OpenSSH
- http://ru.wikipedia.org/wiki/Cygwin
Подключение по SSH с Windows 10, Linux OS или Mac OS
Внимание! Если вы используете Linux OS или Mac OS, перейдите к шагу №7. В Windows 10 есть встроенный «OpenSSH» клиент, который позволяет получать доступ к серверу через консоль, так же, как и на Linux OS
По умолчанию этот компонент не активирован
В Windows 10 есть встроенный «OpenSSH» клиент, который позволяет получать доступ к серверу через консоль, так же, как и на Linux OS. По умолчанию этот компонент не активирован.
Для его установки следуйте шагам ниже.
1. Откройте «Параметры».
2. Перейдите в раздел «Приложения», нажмите «Дополнительные возможности».
3. В списке найдите «OpenSSH Client», нажмите для раскрытия подробного описания.
4. Нажмите «Установить».
5. Дождитесь завершения установки. После того, как «SSHClient» будет установлен, перезагрузите компьютер для корректного применения настроек. Для командной строки станет доступна утилита SSH.
6. Откройте командную строку/терминал и введите команду со своими значениями:
«ssh username@192.168.1.92» — для подключения с помощью пароля; «ssh username@192.168.1.92 -i «C:Usersusername.sshid_rsa»»: — для подключения с помощью ключа.
username
Имя пользователя, указано справа от кнопки «Открыть консоль»
192.168.1.92
Плавающий IP-адрес вашей машины.
Важно! Если вы создали машину только с приватным интерфейсом, создайте плавающий IP и используйте его при подключении к ВМ по SSH.
C:Usersusername.sshid_rsa
Путь к файлу с приватным ключом в вашем локальном хранилище.
Ключ должен быть в формате PEM.
7. Утилита предупредит, что идёт подключение к неизвестному устройству, и спросит, уверены ли вы, что хотите подключиться. Напишите «yes».
8. (Пункт только для тех, кто подключается с помощью пароля) введите пароль, который вы задали при создании машины
9. Вы подключились к машине.
Как разрешить подключение только с определённого IP или группы IP. Как заблокировать определённые IP для SSH
С помощью директив (перечислены в порядке обработки) DenyUsers, AllowUsers, DenyGroups и AllowGroups и шаблонов можно настроить разрешения для доступа к SSH по IP.
Рассмотрим несколько примеров. Если в файл sshd_config добавить фильтрацию с AllowUsers:
AllowUsers johndoe@192.168.1.* admin2@192.168.1.* otherid1 otherid2
Это разрешит доступ для johndoe и admin2 только с адресов 192.168.1.*, а для otherid1, otherid2 доступ будет открыт с любого адреса.
Чтобы разрешить доступ к SSH любым пользователям, но только с определённых IP, в файле /etc/ssh/sshd_config используйте директиву AllowUsers с подстановочным символом:
AllowUsers *@192.168.1.100
Или:
AllowUsers *@ИМЯ_ХОСТА
Возможно ограничить ключ ssh или ключ на основе ca набором адресов в файле .ssh/authorized_keys домашнего каталога данного пользователя:
from="192.168.1.*,192.168.2.*" ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABA...etc...mnMo7n1DD useralias
В этом примере открытый ключ для useralias будет действовать только с заданных адресов.
Настройка журналов SSH сервера
Служба SSH не ведёт свой собственный лог и записывает события в системный журнал. О том, как его просмотреть, обратитесь к разделу «».
Можно настроить подробность ведения журнала — уровень вербальности, то есть какие именно сообщения будут записываться в этот журнал. Для этого используется директива LogLevel. Её значем по умолчанию является INFO. Также доступны следующие варианты:
- QUIET
- FATAL
- ERROR
- INFO
- VERBOSE
- DEBUG
- DEBUG1
- DEBUG2
- DEBUG3
DEBUG и DEBUG1 являются эквивалентами. DEBUG2 и DEBUG3 — каждый указывает на более высокие уровни вывода отладочной информации.
Ведение журнала на уровне DEBUG нарушает политику приватности пользователей и не рекомендуется.
Настройка SSH сервера в Windows
После уставной сервера OpenSSH в Windows вам нужно изменить тип запуска службы sshd на автоматический и запустить службу с помощью PowerShell:
Set-Service -Name sshd -StartupType ‘Automatic’Start-Service sshd
С помощью nestat убедитесь, что теперь в системе запущен SSH сервер и ждет подключений на 22 порту:
netstat -na| find “:22”
Проверьте, что включено правило брандмауэра (Windows Defender Firewall), разрешающее входящие подключения к Windows по порту TCP/22.
Get-NetFirewallRule -Name *OpenSSH-Server* |select Name, DisplayName, Description, Enabled
Если правило отключено (состоянии Enabled=False) или отсутствует, вы можете создать новое входящее правило командой New-NetFirewallRule:
New-NetFirewallRule -Name sshd -DisplayName ‘OpenSSH Server (sshd)’ -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
По умолчанию важным компоненты OpenSSH хранятся в следующих каталогах:
- Исполняемые файлы OpenSSH Server: C:\Windows\System32\OpenSSH\
- Конфигурационный файл sshd_config (создается после первого запуска службы): C:\ProgramData\ssh
- Журнал OpenSSH: C:\windows\system32\OpenSSH\logs\sshd.log
- Файл authorized_keys и ключи: %USERPROFILE%\.ssh\
При установке OpenSSH сервера в системе создается новый локальный пользователь sshd.
Установка Win32 OpenSSH в Windows 10 1803+/Windows Server 2019
В Windows 10, начиная с билда 1803, и в Windows Server 2019 пакет OpenSSH (как и RSAT) уже включен в операционную систему в виде Feature on Demand (FoD).
В Windows 10 и Windows Server 2019 вы можете установить сервер OpenSSH с помощью командлета PowerShell:
Add-WindowsCapability -Online -Name OpenSSH.Server*
Или с помощью DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
Или можно установить OpenSSH из графического интерфейса Windows 10 (Settings -> Apps -> Optional Features -> Add a feature -> Open SSH Server -> Install).
Исполняемые файлы OpenSSH находятся в каталоге:
Конфигурационный файл sshd_config находится в каталоге C:ProgramDatassh (каталог создается после первого запуска службы).
Файл ized_keys и ключи хранятся в каталоге %USERPROFILE%.ssh.
Adding a Windows Firewall Rule to Allow SSH Traffic
Installing OpenSSH does not automatically create a firewall exception rule to allow SSH traffic. Therefore, your next task is to create the firewall rule manually.
One of the easiest ways to create a new Windows Firewall rule is with PowerShell and the cmdlet. The command below creates a firewall rule called Allow SSH that allows all inbound TCP traffic destined to port 22.
Copy the command below and run it in PowerShell.
The below screenshot shows the expected output in PowerShell after creating the firewall rule.
Creating a Windows Firewall Rule to allow Port 22
Connecting with SSH using Password Authentication
At this point, you’ve installed OpenSSH on Windows and performed the initial server configuration. The next step is to test whether connecting via SSH actually works.
To test your newly configured SSH server, let’s now run the command on your local computer.
1. From your local computer this time, open PowerShell.
2. Next, run the command below to start the SSH login process. Make sure to change the username and the remote host of your Windows Server.
3. Since you’re connecting for the first time to the server, you will see a prompt saying that the authenticity of the host can’t be established. The message means that your computer does not recognize the remote host yet. Type yes and press Enter to continue.
4. When prompted for the password, type in your account password and press enter.
Connecting via SSH using Password Authentication
5. After logging in, as you can see in the screenshot below, you’ll arrive at the remote host’s command prompt. Suppose you want to confirm that you’ve entered the session on the remote host. To do so, type , and press Enter. The command should return the remote computer name.
Getting the hostname of the SSH server
Установка сервера OpenSSH в Windows
Рассмотрим, как установить компонент OpenSSH Server в Windows 10 1903 (Windows Server 2019 все выполняется аналогично).
Пакет OpenSSH (как и RSAT) уже включен в данные версии Windows в виде Feature on Demand (FoD).
При наличии прямого Интернет-подключения вы можете установить сервер OpenSSH с помощью PowerShell
Add-WindowsCapability -Online -Name OpenSSH.Server*
Или при помощи DISM:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server
В Windows 10 этот компонент также можно установить через панель Параметры (Приложения -> Управление дополнительными компонентами -> Добавить компонент). Найдите в списке Open SSH Server и нажмите кнопку Install).
Безопасный OpenSSH на Ubuntu 16.04
Одним из рекомендуемых способов защиты сервера при использовании OpenSSH, это отключить логин Root . Во- первых, создайте нового пользователя SUDO на сервере Ubuntu, а затем отредактируйте конфигурационный файл сервера OpenSSH. Найдите следующую строку:
#PermitRootLogin yes
и измените его на:
PermitRootLogin no
Сохраните изменения и перезапустить службу, чтобы изменения вступили в силу. В следующий раз при подключении к серверу вы можете использовать вновь созданного пользователя SUDO.
Чтобы защитить сервер, вы еще можете отключить проверку пароля и настроить SSH вход с использованием ключей SSH. Кроме того, вы можете защитить SSH с помощью двухфакторной проверки подлинности.
Дополнительные опции конфигурации вы можете проверить с помощью страницы man:
man sshd_config
или вы можете посетить страницы вручную OpenSSH на https://www.openssh.com/manual.html.
Installing OpenSSH
After you’ve downloaded OpenSSH-Win64.zip, the next step is to install OpenSSH on the server. There’s no installation wizard in case you’re expecting it.
- While still in the same PowerShell session, copy the code below and run it in PowerShell. This code extracts the OpenSSH-Win64.zip file contents to C:\Program Files\OpenSSH.
2. After extracting the ZIP file, run the command below in PowerShell to execute the script C:\Program Files\OpenSSH\install-sshd.ps1. This script installs the OpenSSH SSH Server service (sshd) and OpenSSH Authentication Agent service (sshd-agent).
You can see the expected result below.
Installing OpenSSH
To ensure that the SSH server starts automatically, run the command below in PowerShell.
Как изменить порт, на котором работает сервер OpenSSH
Все настройки выполняются в файле /etc/ssh/sshd_config или в строке команды запуска sshd.
Для sshd.socket смена прослушиваемого службой порта происходит иначе.
Если вы используете sshd.service (объяснения в ), то смена порта также происходит в файле /etc/ssh/sshd_config. Для этого раскомментируйте директиву Port и укажите новое значение:
Port 2222
Опцию Port разрешено использовать несколько раз.
Также порт можно установить с помощью ListenAddress.
Если вы используете сокет sshd.socket и хотите поменять для SSH прослушиваемый порт, то вам нужно редактировать специальный файл следующим образом:
sudo systemctl edit sshd.socket
Там можно указать только порт:
ListenStream= ListenStream=23456
А также IP и порт:
ListenStream= ListenStream=172.0.0.1:12345
Обратите внимание, что использование ListenStream дважды в одном конфигурационном файле не является ошибкой. Если вы используете ListenStream только один раз с указанием порта, тогда будут прослушиваться и 22 порт и порт, который вы указали
Первое использование ListenStream= отключает прослушивание 22 порта.
Для sshd.socket другие настройки, как обычно, в файле /etc/ssh/sshd_config. Но директивы Port и ListenAddress будут игнорироваться (если выбрано прослушивание сокета).
Управление сервером OpenSSH
Чтобы использовать сервер, первое, что нам нужно сделать, это запустить его. Это можно сделать разными способами. Например, есть приложения с графическим интерфейсом пользователя, которые позволяют нам это делать, но мы рекомендуем использовать команды PowerShell для управления состоянием этого сервера:
- Get-Service sshd — проверьте состояние сервера sshd.
- Start-Service sshd — запускает сервер sshd.
- Stop-Service sshd — Остановить сервер sshd.
Мы также можем настроить сервер из PowerShell для автоматического запуска с помощью команды:
Set-Service -Name sshd -StartupType ‘Automatic’
И чтобы убедиться, что порт 22, порт SSH, открыт в нашем брандмауэр мы должны сделать это с помощью команды:
Get-NetFirewallRule -Name * ssh *
Удаление OpenSSH Uninstalling OpenSSH
Чтобы удалить OpenSSH с помощью параметров Windows, запустите параметры, а затем последовательно выберите приложения > приложения и компоненты > Управление дополнительными компонентами. To uninstall OpenSSH using the Windows Settings, start Settings then go to Apps > Apps and Features > Manage Optional Features. В списке установленных компонентов выберите компонент Клиент OpenSSH или сервер OpenSSH, а затем щелкните Удалить. In the list of installed features, select the OpenSSH Client or OpenSSH Server component, then select Uninstall.
Чтобы удалить OpenSSH с помощью PowerShell, выполните одну из следующих команд: To uninstall OpenSSH using PowerShell, use one of the following commands:
После удаления OpenSSH может потребоваться перезагрузка Windows, если служба используется в то время, когда она была удалена. A Windows restart may be required after removing OpenSSH, if the service is in use at the time it was uninstalled.
Что такое SFTP?
SFTP ( Secure File Transfer Protocol , Secure FTP или SSH FTP ) является расширением протокола SSH, являющегося стандартом в мире систем UNIX / Linux. С точки зрения пользователя, он похож на FTP, но на самом деле это совершенно другой протокол, не имеющий ничего общего с FTP . Данные передаются между клиентом и сервером через туннель SSH (TCP-порт 22).
Основные преимущества SFTP:
- Файлы и команды передаются в безопасном сеансе SSH;
- Одно соединение используется для отправки файлов и команд;
- Поддерживаются символические ссылки, передача прерываний / возобновлений, функции удаления файлов и т. Д .;
- Как правило, в каналах, где FTP работает медленно или не работает, SFTP-соединение работает быстрее и надежнее;
- Возможность аутентификации с использованием ключей SSH.
Генерация SSH ключей в Личном кабинете «G-Core Labs Cloud»
Для создания SSH ключа из личного кабинета, следуйте описанным ниже шагам.
- В панели управления «G-Core Labs Cloud» перейдите в раздел «Ключи SSH».
- Нажмите «Сгенерировать ключ».
- Введите название ключа и нажмите «Создать SSH ключ».
Важно! Допускается использование символов только латинского алфавита, нижнего подчеркивания, пробелов и точек. Длина имени должна быть от 3 до 63 символов
- Ключ сгенерируется и отобразится в списке SSH ключей, его открытая часть уже будет храниться в системе, а закрытый ключ будет загружен на устройство в папку по умолчанию.
- Для просмотра закрытого ключа найдите его на устройстве и откройте с помощью приложения «Блокнот».
Выполнение команд на удалённом сервере без создания сессии шелла
Кроме открытия сессии шелла на удалённой системе, ssh также позволяет выполнять отдельные команды на удалённой системе.
ssh ПОЛЬЗОВАТЕЛЬ@АДРЕСАТ КОМАНДА
Например, для выполнения команды tree на удалённом хосте с IP адресом 192.168.1.36 и отображением результатов на локальной системе, нужно сделать так:
ssh mial@192.168.1.36 tree
Используя эту технику, можно делать интересные вещи, вроде такой, как выполнение команды ls на удалённой системе и перенаправление вывода в файл на локальной системе:
ssh mial@192.168.1.36 'ls *' > dirlist.txt
Обратите внимание на одиночные кавычки в вышеприведённой команде. Это сделано потому, что мы не хотим, чтобы раскрытие пути было выполнено на локальной машине; поскольку нам нужно это выполнение на удалённой системе
Также если мы хотим стандартный вывод перенаправить в файл на удалённой машине, мы можем поместить оператор редиректа и имя файла внутри одиночных кавычек:
ssh remote-sys 'ls * > dirlist.txt'
Как включить сервер OpenSSH в Windows 10.
- Откройте приложение «Параметры» и перейдите в «Приложения» → «Приложения и возможности».
- Справа нажмите «Управление дополнительными компонентами».
- На следующей странице нажмите кнопку «Добавить компонент».
- В списке компонентов выберите OpenSSH Server и нажмите кнопку «Установить», это установит программное обеспечение OpenSSH Server в Windows 10
- Перезагрузите Windows 10.
Также вы можете установить клиент SSH с помощью PowerShell.
Откройте PowerShell от имени Администратора и выполните следующую команду и перезагрузите систему:
Файлы OpenSSH Server находятся в папке c:windowssystem32Openssh. Помимо клиентских приложений SSH, папка содержит следующие серверные инструменты:
- SFTP-server.exe
- SSH-agent.exe
- SSH-keygen.exe
- sshd.exe
- конфигурационный файл «sshd_config».
Сервер SSH настроен для работы в качестве службы.
На момент написания этой статьи он не запускается автоматически. Вам нужно включить его вручную.
Как запустить сервер OpenSSH в Windows 10.
- Откройте Службы, (нажмите клавиши Win + R и введите services.msc в поле «Выполнить») и запустите службу sshd. дважды кликните на запись sshd, чтобы открыть ее свойства.
- На вкладке «Вход в систему» см. Учетную запись пользователя, которая используется сервером sshd. В моем случае это NT Service sshd
- Теперь откройте командную строку или PowerShell от имени администратора .
С помощью этой команды перейдите в каталог Openssh
- Здесь запустите команду для создания ключей безопасности для сервера sshd:
Сервер Sshd сгенерирует ключи
- Теперь в командной строке введите: explorer.exe, чтобы запустить Проводник в папке OpenSSH.
- Кликните правой кнопкой мыши файл ssh_host_ed25519_key и измените владельца файла на пользователя службы sshd, например NT Servicesshd.
- Нажмите кнопку «Добавить» и добавьте разрешение «Чтение» для пользователя «NT Servicesshd».
- Теперь удалите все другие разрешения, чтобы получить что-то вроде этого:
- Нажмите «Применить» и подтвердите операцию.
- Наконец, откройте службы (нажмите клавиши Win + R и введите services.msc в поле «Выполнить») и запустите службу sshd. Она должна запустится:
Служба Sshd работает.
- Теперь необходимо разрешить использование SSH-порта в брандмауэре Windows. По умолчанию сервер использует порт 22. Запустите эту команду в командной строке или PowerShell от имени администратора:
- Наконец, установите пароль для своей учетной записи пользователя, если у вас его нет.
Теперь вы можете попробовать его в действии.
Подключение к SSH-серверу в Windows 10.
Откройте свой ssh-клиент. Вы можете запустить его на том же компьютере, например, используя встроенный клиент OpenSSH или запустить его с другого компьютера в своей сети.
В общем случае синтаксис для клиента консоли OpenSSH выглядит следующим образом:
В моем случае команда выглядит следующим образом:
Где alex_ – мое имя пользователя Windows, а 192.168.1.126 – это IP-адрес моего ПК с Windows 10. Я подключусь к нему с другого компьютера, Windows 10.
Сервер запускает классические консольные команды Windows, например: more, type, ver, copy.
Но я не могу запустить FAR Manager. Он выглядит совсем сломанным:
Еще одно интересное примечание: вы можете запускать приложения с графическим интерфейсом, такие как проводник. Если вы вошли в ту же учетную запись пользователя, которую используете для SSH, они будут запускаться на рабочем столе:
Встроенный SSH-сервер определенно интересен. Он позволяет управлять компьютером сWindows 10, без установки сторонних инструментов, как rdesktop и др..
Начиная с этой версии, встроенный SSH-сервер в Windows 10 находится на стадии BETA, поэтому в будущем он должен стать, более интересным и полезным.
Как выбрать интерфейс (IP) для прослушивания
В системе может быть несколько сетевых интерфейсов с несколькими IP адресами, по умолчанию sshd прослушивает их все, в том числе IPv6 адреса:
ListenAddress 0.0.0.0 ListenAddress ::
Если вы хотите, чтобы компьютер в локальной сети был доступен только для устройств в локальной сети, то можно указать его локальный IP:
ListenAddress 192.168.1.20
Кстати, смотрите статью «Как настроить Kali Linux на использование статичного IP адреса».
Директиву ListenAddress можно использовать несколько раз в одном конфигурационном файле. Разрешены следующие форматы:
ListenAddress hostname|address ListenAddress hostname:port ListenAddress IPv4_address:port ListenAddress :port
Если порт не указан, то sshd будет прослушивать на указанном порту в соответствии со всеми установленными опциями Port в этом файле.
Квалификатор rdomain является необязательным, он имеет отношение к маршрутизации.
Также обратите внимание, что с ListenAddress обязательно должен быть указано имя хоста (адрес) ИЛИ порт. Можно указать отдельно имя хоста (адрес), можно указать отдельно порт, а также можно указать их вместе
Во всех вариантах rdomain может отсутствовать.
Опции командной строки (об их использовании далее) имеют приоритет над директивами конфигурационного файла. В том числе опция для установки используемого порта приводят к тому, что Port в конфигурационном файле игнорируется. Но порты указанные с ListenAddress перезаписывают порты в строке команды.
Вы можете указать конкретный IP, который будет прослушиваться в ожидании подключений. А опцией AddressFamily вы можете выбрать для прослушивания все адреса, только IPv4 или только IPv6:
AddressFamily any
Варианты:
- any (по умолчанию — любые адреса),
- inet (использовать только IPv4),
- inet6 (использовать только IPv6),
Тестируем SFTP подключение с помощью WinSCP
Попробуем подключиться к поднятому нами SSH серверу по протоколу SFTP. Для этих целей воспользуемся свободным клиентом WinSCP.
В окне настройки подключения выберите протокол передачи файлов SFTP, укажите имя сервера и данные учетной записи Windows, под которой осуществляется подключение (возможно также настроить авторизацию по ключам).
При первом подключении появится окно с предупреждением о том, что ключ хоста отсутствует в локальном кеше.
Если все настроено правильно, клиент должен подключиться к SFTP серверу и отобразить список файлов в домашнем каталоге пользователя (по умолчанию каталог с профилем пользователя).
С помощью привычного интерфейса файлового менеджера можно безопасно копировать файлы между сервером и клиентом. Передача файлов будет осуществляться по защищённому протоколу SFTP.