Смотрите ответ ниже: unix.stackexchange.com/a/427739/242983 . OpenSSH теперь изначально поддерживается последним обновлением Windows10. Тем не менее, он не доступен для более старых версий. Пожалуйста, обновите ваш Windows10, прежде чем пытаться это.
alpha_989
@Manishearth Потому что иногда вы просто хотите что-то, что работает из коробки без необходимости дополнительного чтения.
Зимано
Ответы:
23
Это зависит от того, как вы хотите подключиться. Вы можете создавать общие папки на компьютере с Windows и использовать smb / cifs для подключения к общей папке.
Синтаксис зависит от того, находитесь ли вы в домене или нет.
# mount -t cifs //server/share /mnt/server --verbose -o user=UserName,dom=DOMAIN
У вас также есть возможность монтировать $IPCи административные общие ресурсы. Вы можете заглянуть в межпроцессное взаимодействие, чтобы узнать, что вы можете сделать с помощью общего $IPCресурса.
Всегда:
RDP
VNC
телнет
SSH
Linux на Windows
С последними 3 нужно установить дополнительное программное обеспечение.
Для RDP большинство систем Linux либо уже rdesktopустановлены, либо доступны в диспетчере пакетов. Для этого rdesktopвам нужно только включить RDP-соединения с вашей системой Windows, и тогда вы сможете использовать RDP для полноценной консоли Windows с графическим интерфейсом.
Да, вы можете подключиться к Windows Machine из Linux-клиента. Но для этого вы должны разместить какой-нибудь сервер (например, telnet, ssh, ftp или любой другой тип сервера) на компьютере с Windows, и у вас должен быть соответствующий клиент в Linux.
Поскольку Windows в большей степени зависит от графического интерфейса пользователя, чем Linux, лучше всего выбрать RDP .
cjm
Я не думаю, что что-то вроде ftp подразумевалось в этом вопросе. И телнет - ... правда?
пользователь неизвестен
Да, он, вероятно, имел в виду ssh ...
Jcora
@pradeepchhetri, а в Windows некоторые из этих серверов активны по умолчанию?
H_7
3
@ H_7: Windows поддерживает Telnet и FTP-сервер, но по умолчанию они не работают. Вы должны настроить их на выполнение: 1. Перейдите в Панель управления -> 2. Программы и компоненты -> 3. Включите или отключите функции Windows. Здесь вы можете увидеть список серверов или клиентов. Вы можете запустить telnet или ftp сервер отсюда.
Pradeepchhetri
5
Если вы включены Windows 10, вы можете установить, OpenSSHиспользуя следующий скрипт Powershell.
#change dns server to 8.8.8.8 so that the OpenSSH stuff can be downloaded
netsh interface ip set dns "Ethernet" static 8.8.8.8
#sleep for 60 s so that the DNS server has time to register
Start-Sleep -m 60
#check if OpenSSH is already installed or not
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# Check if OpenSSH is available
dism /Online /Get-Capabilities | findstr OpenSSH
# install the server and/or client features:
dism /Online /Add-Capability /CapabilityName:OpenSSH.Client~~~~0.0.1.0
dism /Online /Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0
Install-Module -Force OpenSSHUtils
Repair-SshdHostKeyPermission -FilePath C:\Windows\System32\OpenSSH\ssh_host_ed25519_key
# start the ssh server daemon
Start-Service sshd
# This should return a Status of Running
Get-Service sshd
# add firewall rule to allow inbound and outbound traffic through port 22
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Service sshd -Enabled True -Direction Inbound -Protocol TCP -Action Allow -Profile Domain
Обратите внимание, что этот скрипт изменит днс на гугл днс. Поскольку
OpenSSHон не распространяется с дистрибутивом по умолчанию Windows10, он фактически загружает некоторые файлы из Интернета. Поэтому вам нужно работающее интернет-соединение и правильный DNS-сервер, поэтому я указал статический DNS-сервер, на случай, если вы находитесь за брандмауэром или используете статический IP-адрес без DNS-сервера.
Как только вы это сделаете, вы должны выяснить IP-адрес Windows
хоста usign
ipconfig
Тогда из Linux/UnixОС делай
ssh username@Windows_ip
где имя пользователя - это имя учетной записи и Windows_ipIP-адрес компьютера с Windows, в который вы пытаетесь войти
На моей установке windows ничего кроме первой строки не запускается. Ответ: «Sart-Sleep не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл». Так что это не совсем так, как вам хотелось бы :-)
Левитофер
1
Анонимный пользователь только что отметил (не удалось) редактирование, что строка, начинающаяся с Repair-SshdHostKeyPermission, не нужна. Я не знаю, правда ли это, но если это так, я не хочу, чтобы записка была потеряна навсегда.
роайма
4
Может быть, вы хотели бы попробовать RDP или программное обеспечение, такое как teamviewer. Также вы можете установить cygwin на ваш компьютер с Windows и настроить его для доступа по ssh, так что вы получите оболочку, как вы знаете, из linux при подключении по ssh.
Вы должны установить сервер openssh на Windows Machine, например, сервер openssh на android. Вы можете использовать putty на машине iinux для ssh на Windows Machine. Вы можете использовать netstat, чтобы проверить его после того, как вы установите сервер openssh на машину Windows.
Ответы:
Это зависит от того, как вы хотите подключиться. Вы можете создавать общие папки на компьютере с Windows и использовать smb / cifs для подключения к общей папке.
Синтаксис зависит от того, находитесь ли вы в домене или нет.
У вас также есть возможность монтировать
$IPC
и административные общие ресурсы. Вы можете заглянуть в межпроцессное взаимодействие, чтобы узнать, что вы можете сделать с помощью общего$IPC
ресурса.Всегда:
С последними 3 нужно установить дополнительное программное обеспечение.
VNC может быть запущен из автономного двоичного файла или установлен.
Для RDP большинство систем Linux либо уже
rdesktop
установлены, либо доступны в диспетчере пакетов. Для этогоrdesktop
вам нужно только включить RDP-соединения с вашей системой Windows, и тогда вы сможете использовать RDP для полноценной консоли Windows с графическим интерфейсом.источник
Да, вы можете подключиться к Windows Machine из Linux-клиента. Но для этого вы должны разместить какой-нибудь сервер (например, telnet, ssh, ftp или любой другой тип сервера) на компьютере с Windows, и у вас должен быть соответствующий клиент в Linux.
источник
Если вы включены
Windows 10
, вы можете установить,OpenSSH
используя следующий скрипт Powershell.Обратите внимание, что этот скрипт изменит днс на гугл днс. Поскольку
OpenSSH
он не распространяется с дистрибутивом по умолчаниюWindows10
, он фактически загружает некоторые файлы из Интернета. Поэтому вам нужно работающее интернет-соединение и правильный DNS-сервер, поэтому я указал статический DNS-сервер, на случай, если вы находитесь за брандмауэром или используете статический IP-адрес без DNS-сервера.Как только вы это сделаете, вы должны выяснить IP-адрес
Windows
хоста usignТогда из
Linux/Unix
ОС делайгде имя пользователя - это имя учетной записи и
Windows_ip
IP-адрес компьютера с Windows, в который вы пытаетесь войтиисточник
Repair-SshdHostKeyPermission
, не нужна. Я не знаю, правда ли это, но если это так, я не хочу, чтобы записка была потеряна навсегда.Может быть, вы хотели бы попробовать RDP или программное обеспечение, такое как teamviewer. Также вы можете установить cygwin на ваш компьютер с Windows и настроить его для доступа по ssh, так что вы получите оболочку, как вы знаете, из linux при подключении по ssh.
источник
Вы должны установить сервер openssh на Windows Machine, например, сервер openssh на android. Вы можете использовать putty на машине iinux для ssh на Windows Machine. Вы можете использовать netstat, чтобы проверить его после того, как вы установите сервер openssh на машину Windows.
источник
Если вы используете git на windows, поздравляю, вы уже можете подключиться к ssh на вашем компьютере с Windows.
Просто запустите сервер ssh:
Затем настройте брандмауэр с помощью команды powershell:
источник