- Installing SFTP/SSH Server on Windows using OpenSSH
- Installing SFTP/SSH Server
- On Windows 10 version 1803 and newer
- On earlier versions of Windows
- Configuring SSH server
- Setting up SSH public key authentication
- Connecting to the server
- Finding Host Key
- Connecting
- Использование встроенного SSH клиента в Windows 10
- Установка клиента OpenSSH в Windows 10
- Как использовать SSH клиенте в Windows 10?
- SCP: копирование файлов из/в Windows через SSH
- Scp сервер для windows
- SCP в двух словах
- Типичное использование для SCP
- Лучшие SCP-серверы для Windows
- 1. SFW / SCP-сервер SolarWinds (бесплатная загрузка)
- 2. Битвис SSH сервер
- 3. FreeSSHd
- 4. OpenSSH для Windows
- Лучшие SCP-серверы для Linux
- 1. OpenSSH
- 2. Dropbear SSH
- 3. Слово о Cygwin
- Сервер MacOS SSH
- В заключение
Installing SFTP/SSH Server on Windows using OpenSSH
Recently, Microsoft has released a port of OpenSSH for Windows. You can use the package to set up an SFTP /SSH server on Windows.
Installing SFTP/SSH Server
On Windows 10 version 1803 and newer
- In Settings app, go to Apps > Apps & features > Manage optional features.
- Locate “OpenSSH server” feature, expand it, and select Install.
Binaries are installed to %WINDIR%\System32\OpenSSH . Configuration file ( sshd_config ) and host keys are installed to %ProgramData%\ssh (only after the server is started for the first time).
You may still want to use the following manual installation, if you want to install a newer version of OpenSSH than the one built into Windows 10.
On earlier versions of Windows
- Download the latest OpenSSH for Windows binaries (package OpenSSH-Win64.zip or OpenSSH-Win32.zip )
- As the Administrator, extract the package to C:\Program Files\OpenSSH
- As the Administrator, install sshd and ssh-agent services:
Configuring SSH server
- Allow incoming connections to SSH server in Windows Firewall:
- When installed as an optional feature, the firewall rule “OpenSSH SSH Server (sshd)” should have been created automatically. If not, proceed to create and enable the rule as follows.
- Either run the following PowerShell command as the Administrator:
Replace C:\System32\OpenSSH\sshd.exe with the actual path to the sshd.exe ( C:\Program Files\OpenSSH\ssh.exe , had you followed the manual installation instructions above). - or go to Control Panel > System and Security > Windows Defender Firewall1> Advanced Settings > Inbound Rules and add a new rule for port 22.
- Start the service and/or configure automatic start:
- Go to Control Panel > System and Security > Administrative Tools and open Services. Locate OpenSSH SSH Server service.
- If you want the server to start automatically when your machine is started: Go to Action > Properties. In the Properties dialog, change Startup type to Automatic and confirm.
- Start the OpenSSH SSH Server service by clicking the Start the service.
Setting up SSH public key authentication
Follow a generic guide for Setting up SSH public key authentication in *nix OpenSSH server, with the following difference:
Connecting to the server
Finding Host Key
Before the first connection, find out fingerprint of the server’s host key by using ssh-keygen.exe for each file.
In Windows command-prompt, use:
Replace %WINDIR%\System32 with %ProgramFiles% , if appropriate.
In PowerShell, use:
Replace $env:WINDIR\System32 with $env:ProgramFiles , if appropriate.
You will get an output like this:
Connecting
Start WinSCP. Login dialog will appear. On the dialog:
- Make sure New site node is selected.
- On New site node, make sure the SFTP protocol is selected.
- Enter your machine/server IP address (or a hostname) into the Host name box.
- Enter your Windows account name to the User name box. It might have to be entered in the format user@domain , if running on a domain.
- For a public key authentication:
- Press the Advanced button to open Advanced site settings dialog and go to SSH > Authentication page.
- In Private key file box select your private key file.
- Submit Advanced site settings dialog with the OK button.
- For a password authentication:
- Enter your Windows account password to the Password box.
- If you Windows account does not have a password, you cannot authenticate with the password authentication (i.e. with an empty password), you need to use the public key authentication.
- Save your site settings using the Save button.
- Login using Login button.
- Verify the host key by comparing fingerprint with those collected before (see above).
If you cannot authenticate to the server, and you are using Windows 10 Developer mode, make sure that your OpenSSH server does not conflict with an internal SSH server used by the Developer mode. You may need to turn off the SSH Server Broker and SSH Server Proxy Windows services. Or run your OpenSSH server on a different port than 22.
Использование встроенного SSH клиента в Windows 10
В Windows 10 и Windows Server 2019 появился встроенный SSH клиент, который вы можете использовать для подключения к *Nix серверам, ESXi хостам и другим устройствам по защищенному протоколу, вместо Putty, MTPuTTY или других сторонних SSH клиентов. Встроенный SSH клиент Windows основан на порте OpenSSH и предустановлен в ОС, начиная с Windows 10 1809.
Установка клиента OpenSSH в Windows 10
Клиент OpenSSH входит в состав Features on Demand Windows 10 (как и RSAT). Клиент SSH установлен по умолчанию в Windows Server 2019 и Windows 10 1809 и более новых билдах.
Проверьте, что SSH клиент установлен:
Get-WindowsCapability -Online | ? Name -like ‘OpenSSH.Client*’
В нашем примере клиент OpenSSH установлен (статус: State: Installed).
Если SSH клиент отсутствует (State: Not Present), его можно установить:
- С помощью команды PowerShell: Add-WindowsCapability -Online -Name OpenSSH.Client*
- С помощью DISM: dism /Online /Add-Capability /CapabilityName:OpenSSH.Client
0.0.1.0
]Бинарные файлы OpenSSH находятся в каталоге c:\windows\system32\OpenSSH\.
- ssh.exe – это исполняемый файл клиента SSH;
- scp.exe – утилита для копирования файлов в SSH сессии;
- ssh-keygen.exe – утилита для генерации ключей аутентификации;
- ssh-agent.exe – используется для управления ключами;
- ssh-add.exe – добавление ключа в базу ssh-агента.
Как использовать SSH клиенте в Windows 10?
Чтобы запустить SSH клиент, запустите командную строку PowerShell или cmd.exe . Выведите доступные параметры и синтаксис утилиты ssh.exe, набрав команду:
ssh
usage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-E log_file] [-e escape_char]
[-F configfile] [-I pkcs11] [-i identity_file]
[-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
[-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
[-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
destination [command]
Для подключения к удаленному серверу по SSH используется команда:
Если SSH сервер запущен на нестандартном порту, отличном от TCP/22, можно указать номер порта:
ssh username@host -p port
Например, чтобы подключиться к Linux хосту с IP адресом 192.168.1.202 под root, выполните:
При первом подключении появится запрос на добавление ключа хоста в доверенные, наберите yes -> Enter (при этом отпечаток ключа хоста добавляется в файл C:\Users\username\.ssh\known_hosts).
Затем появится запрос пароля указанной учетной записи, укажите пароль root, после чего должна открытся консоль удаленного Linux сервера (в моем примере на удаленном сервере установлен CentOS 8).
Если вы используете SSH аутентификацию по RSA ключам (см. пример с настройкой SSH аутентификации по ключам в Windows), вы можете указать путь к файлу с закрытым ключом в клиенте SSH так:
ssh root@192.168.1.92 -i «C:\Users\username\.ssh\id_rsa»
Также вы можете добавить ваш закрытый ключ в SSH-Agent. Сначала нужно включить службу ssh-agent и настроить ее автозапуск:
set-service ssh-agent StartupType ‘Automatic’
Start-Service ssh-agent
Добавим ваш закрытый ключ в базу ssh-agent:
Теперь вы можете подключиться к серверу по SSH без указания пути к RSA ключу, он будет использоваться автоматически. Пароль для подключения не запрашивается (если только вы не защитили ваш RSA ключ отдельным паролем):
Еще несколько полезных аргументов SSH:
- -C – сжимать трафик между клиентом и сервером (полезно на медленных и нестабильных подключениях);
- -v – вывод подробной информации обо всех действия клиента ssh;
- -R / -L – можно использовать для проброса портов через SSH туннель.
SCP: копирование файлов из/в Windows через SSH
С помощью утилиты scp.exe, которая входит в состав пакета клиента SSH, вы можете скопировать файл с вашего компьютера на SSH сервер:
scp.exe «E:\ISO\CentOS-8.1.1911-x86_64.iso» root@192.168.1.202:/home
Можно рекурсивно скопировать все содержимое каталога:
scp -r E:\ISO\ root@192.168.1.202:/home
И наоборот, вы можете скопировать файл с удаленного сервера на ваш компьютер:
scp.exe root@192.168.1.202:/home/CentOS-8.1.1911-x86_64.iso e:\tmp
Итак, теперь вы можете прямо из Windows 10 подключаться к SSH серверам, копировать файлы с помощью scp без установки сторонних приложений и утилит.
Scp сервер для windows
Secure Copy, или SCP, как мы обычно называем, это протокол, который облегчает передачу файлов между подключенными к сети компьютерами и / или устройствами. На самом деле это расширение Secure Shell или протокола SSH. Он передает в зашифрованном формате, используя тот же протокол SSL, который использует SSH. SCP в основном используется системными администраторами для быстрого и простого копирования файлов на серверы и сетевое оборудование всех видов и с них. Сервер SCP — это компонент, который вы устанавливаете на сервер, к которому пользователи подключаются для загрузки и выгрузки файлов. Серверы SCP существуют для многих платформ, включая Windows, Linus и MacOS. И сегодня мы представляем лучшие бесплатные серверы SCP для Windows, Linux и macOS.
Сегодня мы начнем наше обсуждение с обзора SCP, что это такое, откуда он исходит и для каких целей он может быть использован. Затем мы рассмотрим лучшие из найденных нами серверов SCP для трех основных платформ, используемых системными администраторами: Windows, Linux и MacOS.
SCP в двух словах
SCP относится как к протоколу, так и к реальным приложениям, которые используют для его копирования файлы. Он основан на протоколе BSD RCP и используется для передачи файлов между хостами в сети. SCP использует протокол Secure Shell (SSH) для передачи данных и использует те же механизмы для аутентификации. Это гарантирует подлинность и конфиденциальность передаваемых данных.
Клиент может загружать файлы на сервер, при желании, включая некоторые их атрибуты, такие как разрешения и временные метки. Клиент также может загружать файлы или каталоги с сервера. Одним из важных ограничений SCP является то, что он обрабатывает только передачу файлов. В отличие от более продвинутых протоколов, таких как FTP, например, SCP не обеспечивает листинг каталога или возможности навигации.
Типичное использование для SCP
SCP обычно используется каждый раз, когда файл должен быть передан по незащищенному каналу, такому как Интернет. Клиент, по сути, основан на командной строке и требует указания имени пользователя и имени хоста. Обычно вызывается с использованием синтаксиса, такого как:
УПП Исходный файл пользователь@хозяин:каталог/Целевой_файл
Эта команда скопирует локальный SourceFile на удаленный сервер. Чтобы скопировать файлы с удаленного сервера на локальный хост, команда выглядит следующим образом:
УПП пользователь@хозяин:каталог/Исходный файл Целевой_файл
SCP часто используется для копирования файлов, таких как файлы конфигурации или обновления встроенного программного обеспечения, на сетевое оборудование, и многие из них включают клиента SCP как часть своей операционной системы.
Лучшие SCP-серверы для Windows
Поскольку Windows является наиболее используемой операционной системой, неудивительно, что на платформе работает множество серверов SCP. Мы искали в Интернете, чтобы найти самое лучшее программное обеспечение для сервера SCP. Но поскольку SCP является просто расширением SSH, все, кроме одного из наших рекомендуемых серверов SCP, на самом деле являются SSH-серверами.
1. SFW / SCP-сервер SolarWinds (бесплатная загрузка)
SolarWinds делает некоторые из лучших инструментов для управления сетью. Их всестороннее предложение включает в себя инструменты для решения практически любой задачи сетевого администратора. Но одна из главных особенностей SolarWinds — помимо того, что у них есть бесплатные пробные версии всех их инструментов — это то, что они также предлагают несколько бесплатных инструментов.
Одним из таких инструментов являетсяSolarWinds бесплатный SFTP / SCP сервер, Вы можете скачать инструмент совершенно бесплатно, с Вот, Сервер работает как служба Windows. Поэтому его работа должна быть простой для любого опытного системного администратора Windows. Но даже если вы новичок в этом, пользовательский интерфейс достаточно прост, чтобы понять, что вам должно быть очень удобно.
SCP, как и его двоюродный брат SSH, происходит из мира Unix. Но, в отличие от большинства реализаций Linux, сервер SolarWinds не использует системные учетные записи. Вместо этого он использует виртуальных пользователей, которые являются учетными записями пользователей, которые вы создаете в приложении для копирования файлов. Поскольку учетные записи пользователей фактически не существуют в хост-системе или в сети, это обеспечивает повышенную безопасность. В редких случаях, когда учетная запись была взломана, ее нельзя было использовать для прямого входа в систему.
SFTP / SCP-сервер SolarWinds может использоваться для безопасной передачи образов ОС и обновлений прошивки, а также файлов конфигурации и резервных копий устройства объемом до 4 ГБ. Среди наиболее интересных функций продукта, он может обрабатывать одновременные передачи с нескольких устройств, а также вы можете авторизовать определенные IP-адреса или диапазоны адресов.
ССЫЛКА: Загрузите БЕСПЛАТНЫЙ сервер SFTP / SCP от SolarWind, здесь
2. Битвис SSH сервер
И SCP, и SFTP являются протоколами, которые используют протокол SSH для защиты передачи файлов. По этой причине побитовый SSH-сервер поддерживает два протокола передачи файлов в дополнение к Secure Shell.
Как и сервер SolarWinds, Bitwise использует виртуальные учетные записи или учетные записи, созданные в приложении и вне операционной системы или домена Active Directory. Но побитовый сервер также позволяет использовать системные учетные записи Windows. Таким образом, вы получаете лучшее из обоих миров. Пользователи AD или Windows могут подключаться, используя свои учетные данные, в то время как виртуальные учетные записи позволяют предоставлять специальный доступ к внешним ресурсам.
Сервер Bitvise имеет несколько интересных функций. Например, вы можете ограничить подключения только к SCP, что делает его настоящим сервером SCP. Но настоящая причина, по которой это хорошо, заключается в большей безопасности, которую он предлагает. В стандартных реализациях Unix SCP наличие доступа к SCP часто подразумевает наличие доступа по SSH. Это не имеет большого значения в мире Unix из-за встроенной безопасности на уровне учетной записи ОС.Но в мире Windows все по-другому, и предоставление SSH-доступа может означать разрешение несанкционированного запуска Power Shell. Вот почему сервер Bitvise поддерживает возможность доступа к SCP, в то же время запрещая доступ к оболочке.
Одно слово предостережения о Bitwise сервере: он бесплатный только для личного использования. Если вы хотите использовать его в коммерческом или профессиональном контексте, вам придется приобрести лицензию.
3. FreeSSHd
«D» во FreeSSHd означает «Демон». Если вы работаете в Unix, это, безусловно, знакомый термин. Но если вы работаете в Windows, Deamon в мире Unix является эквивалентом службы Windows. Это часть программного обеспечения, которая работает в фоновом режиме для предоставления конкретной услуги.
Что касается Free в FreeSSHd, мы не знаем, является ли он бесплатным как в бесплатном, так и в бесплатном, как в открытом исходном коде. Отсутствие какого-либо раздела загрузки исходного кода на официальном сайте позволяет предположить, что это первое. Если говорить о сайте, то похоже, что он не обновлялся уже несколько лет. Тем не менее, FreeSSHd все еще широко используется. Как ни странно, последнее объявление о версии FreeSSHd на сайте — это версия 1.2.2, но в разделе загрузки предлагается 1.3.1. Мы предполагаем, что у разработчика больше нет времени, чтобы поддерживать обновленный сайт.
Одна из лучших функций FreeSSHd заключается в том, что он будет работать практически на любой версии Windows. Требуется ОС Windows NT 4 или новее. Мы искренне сомневаемся, что на сегодняшний день действуют еще более старые версии Windows.
Другие удивительные особенности продукта включают его очень маленькую память и ресурс. Также стоит упомянуть поддержку виртуальных пользователей и простой в использовании графический интерфейс, где вы можете отслеживать, запускать и останавливать службу.
4. OpenSSH для Windows
OpenSSH изначально был частью операционной системы Open BSD, когда она была выпущена еще в 1999 году. Он является своего рода «предком» большинства SSH-серверов. OpenSSH на самом деле представляет собой набор инструментов из 10 инструментов, а не отдельную часть программного обеспечения. Тем не менее, OpenSSH является ядром пакета и компонентом, который выполняет большую часть тяжелой работы. А поскольку SCP так тесно связан с SSH, сервер OpenSSH также обрабатывает SCP и SFTP.
Хотя он появился в мире Unix, дизайн программного обеспечения позволил легко переносить его на другие операционные системы, что делает OpenSSH одним из наиболее часто используемых серверов SSH и SCP.
Что касается сервера Microsoft OpenSSH, это один из самых последних портов пакета программного обеспечения, и он все еще находится в стадии разработки. Предварительная версия доступна здесь. Но имейте в виду, что это предварительная версия и, как таковой, процесс установки не так совершенен, как могло бы быть. Вероятно, для его установки и работы потребуются некоторые знания системного администрирования Windows и навыки Power Shell.
И не позволяйте факту, что это предварительный релиз, выключить вас. Учитывая его предпосылки, есть вероятность, что он станет стандартным сервером SCP на сцене Windows, так же, как и для других операционных систем.
Что касается функциональности, в соответствии с традицией утилит Unix, это в основном утилита на основе командной строки. Не ждите, чтобы найти хороший графический интерфейс, как вы видели бы в некоторых других популярных утилит администратора сети Windows.
Лучшие SCP-серверы для Linux
Как мы уже установили, SCP родился в мире Unix. А поскольку Linux является самой распространенной Unix-подобной ОС, которую вы можете найти, неудивительно, что для этой платформы доступно несколько отличных пакетов SCP. Опять же, Linux не так популярен, как Windows, поэтому, возможно, не так много Linux SCP-серверов, как для Windows.
1. OpenSSH
Наш первый соперник — тот же OpenSSH, о котором мы только что говорили в разделе о сервере Windows SCP. В каком-то смысле это прародитель всех SSH-серверов. Это было здесь в течение того, что можно было бы считать веками в годы эволюции компьютеров.
И самое приятное в этом то, что он входит в стандартную комплектацию большинства дистрибутивов Linux. Возможно, он не запущен по умолчанию или не установлен, но наиболее определенно доступен. В большинстве случаев все, что вам нужно сделать, это запустить демон OpenSSH. Это разрешит SSH-соединения и, следовательно, позволит также копировать файлы SCP.
Легко проверить, доступен ли openssh-сервер — это имя реального SSH-сервера — в вашей системе. Все, что вам нужно сделать, это запустить простую команду.
$ apt-cache search openssh-server
Эта команда должна вернуть:
openssh-server — сервер защищенной оболочки (SSH) для безопасного доступа с удаленных машин
Это подтверждает доступность серверного компонента OpenSSH. Чтобы установить его, вам просто нужно запустить команду install вашего менеджера пакетов.
$ apt-get install openssh-сервер
Эти команды будут работать в любом дистрибутиве, использующем пакетный инструмент apt, такой как Debian и его производные, включая Ubuntu. Если в вашем дистрибутиве используется другой менеджер пакетов, вам нужно будет использовать специальные команды пакета.
После запуска сервер позволит существующим системным пользователям использовать клиент SCP для копирования файлов в каталоги и из них, где у них есть разрешение на запись и чтение соответственно. По умолчанию файлы будут находиться в домашнем каталоге пользователя. Может потребоваться некоторая настройка, чтобы пользователи копировали файлы в другие места без указания полного пути.
2. Dropbear SSH
Dropbear SSH — это еще один SSH и SCP-сервер с открытым исходным кодом и клиент. Его основной характеристикой является небольшая площадь, что делает его идеальным для приложений с ограниченными ресурсами. Dropbear SSH в основном предназначен для встраиваемых систем, таких как маршрутизаторы или другое оборудование, которые могут нуждаться в функциональности SSH и SCP. Он работает в нескольких операционных системах в стиле Unix и может быть настроен для работы на большинстве POSIX-совместимых платформ.
Dropbear SSH активно разрабатывается Мэттом Джонсоном, и его последней версии на момент написания этой статьи менее двух месяцев. Среди наиболее интересных функций продукта — возможность компилировать программное обеспечение в статически связанный исполняемый файл размером всего 110 КБ. Программное обеспечение совместимо с аутентификацией с открытым ключом OpenSSH
/ .ssh / authorized_keys. Демон может запускаться из inetd при запуске или использоваться автономно. И, наконец, функции могут быть легко включены или отключены при компиляции, создавая еще меньший исполняемый файл с только необходимыми функциями.
Однако вся эта гибкость имеет свою цену. Приспособление Dropbear к конкретным потребностям потребует продвинутых навыков системного администратора. Системные администраторы должны быть знакомы с такими понятиями, как изменение make-файла и перекомпиляция исполняемого файла. Но если у вас есть необходимые знания и вам нужен небольшой сервер SSH и SCP, который может работать на вашем встроенном устройстве, вам стоит обратить внимание на Dropbear SSH.
3. Слово о Cygwin
Возможно, вы слышали о Cygwin раньше. Это проект с открытым исходным кодом, целью которого является предоставление библиотеки DLL Windows, которая реализует большое количество функций API POSIX. Конкретно, это означает, что любое приложение с открытым исходным кодом Linux может быть перекомпилировано для использования Cygwin и, следовательно, работать на платформе Windows.
Если вы являетесь системным администратором Windows и никогда не слышали о Cygwin, вам, возможно, захочется ознакомиться с ним и, возможно, установить его на компьютер с ОС Windows и убедиться в этом сам. Он не идеален, и он не превратит ваш сервер Windows в машину Unix, но даст вам доступ к более широкому спектру опций, когда речь заходит о программном обеспечении и инструментах системного администрирования.
Вот почему мы берем минуту или две, чтобы поговорить о Cygwin. Имея так много SSH и SCP-серверов, доступных для Linux — мы упомянули только пару лучших, но есть бесчисленное множество других — приятно знать, что Cygwin может позволить им работать на платформе Windows. На самом деле, многие утилиты Linux доступны в виде пакета Cygwin вместе с пакетами для других популярных дистрибутивов Linux.
Сервер MacOS SSH
Хотя широкая публика может не знать об этом, macOS является еще одной Unix-подобной операционной системой. Однако, в отличие от большинства Unix-подобных систем — и особенно Linux — MacOS использует ядро другого типа, представляющее собой гибрид монолитного ядра, такого как Linux, и архитектуры микроядра.
Из-за этих корней Unix неудивительно, что поддержка SSH, которая также включает поддержку SCP, является нативной функцией macOS. Как и в большинстве дистрибутивов Linux, функциональность SSH не включена по умолчанию в nacOS, но включить ее очень просто.
Все, что вам нужно сделать, чтобы включить SSH на компьютере MacOS, это перейти на Системные настройки затем запустите Совместное использование апплета и включить Удаленный вход вариант. Это позволяет использовать SSH для всех пользователей компьютера. И, как и большинство программ SSH, встроенных в операционную систему, права доступа к файлам и каталогам определяют, что пользователи могут копировать на сервер и с сервера.
На сервере SOS macOS больше ничего нет. Вы просто включаете SSH, и это работает. Там нет панели управления или раздел настроек. Виртуальных аккаунтов тоже нет. Только системные учетные записи могут подключаться. Это довольно простой, но он есть, он бесплатный, и он выполняет свою работу. Если вам абсолютно не нужно больше функциональности, это отличный сервер для использования.
В заключение
Независимо от причины использования сервера SCP, мы показали вам, что существует несколько вариантов, независимо от операционной системы, на которой вы работаете. И хотя доступно еще много вариантов, о которых мы вам рассказали, это лучшие бесплатные серверы SCP для Windows, Linux и macOS со встроенным SSH.
Какой ваш любимый SCP-сервер? Это один из немногих, что мы только что представили? Что вам больше всего нравится в этом? Используйте комментарии ниже, чтобы поделиться своим опытом с нами.