Могу ли я подключиться к машине Windows из оболочки Linux?

Могу ли я подключиться к машине Windows из оболочки Linux?

Я могу подключиться к машинам Linux из Windows с помощью PuTTY/SSH. Я хочу сделать наоборот - подключиться к машине Windows из Linux.

Это возможно?

решение1

Это зависит от того, как вы хотите подключиться. Вы можете создать общие ресурсы на машине Windows и использовать smb/cifs для подключения к общему ресурсу.

Синтаксис будет зависеть от того, находитесь ли вы в домене или нет.

# mount -t cifs //server/share /mnt/server --verbose -o user=UserName,dom=DOMAIN

У вас также есть возможность монтировать $IPCи административные общие ресурсы. Вы можете посмотреть в разделе Inter-Process Communication, что вы можете сделать через $IPCобщий ресурс.

Всегда:

  • РДП
  • ВНК
  • телнет
  • сш
  • Linux на Windows

В последних трех случаях вам необходимо установить дополнительное программное обеспечение.

VNC можно запустить из автономного двоичного файла или установить.

Для RDP большинство систем Linux либо уже установлены rdesktop, либо доступны в менеджере пакетов. Используя rdesktopRDP, вам нужно только включить подключения к вашей системе Windows, и тогда вы сможете использовать RDP для полноценной графической консоли Windows.

решение2

Если вы используете 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

Обратите внимание, что этот скрипт изменит DNS на Google DNS. Поскольку OpenSSHон не распространяется с дистрибутивом по умолчанию Windows10, он фактически загрузит некоторые файлы из интернета. Поэтому вам нужно работающее подключение к интернету и правильный DNS-сервер, поэтому я указал статический DNS-сервер, на всякий случай, если вы находитесь за брандмауэром или используете статический IP без DNS-сервера.

После того, как вы это сделаете, вам следует выяснить IP-адрес хоста Windows , используя

ipconfig

Затем из Linux/UnixОС сделайте

ssh username@Windows_ip

где имя пользователя — имя учетной записи, а Windows_ipIP-адрес компьютера Windows, на который вы пытаетесь войти.

решение3

Да, вы можете подключиться к машине Windows с клиента Linux. Но для этого вам нужно разместить какой-то сервер (например, telnet, ssh, ftp или любой другой сервер) на машине Windows и у вас должен быть соответствующий клиент на Linux.

решение4

Если вы используете git на Windows, поздравляю, вы уже можете подключиться к своей машине Windows по ssh.

Просто запустите ssh-сервер:

net start "C:\Program Files\Git\usr\bin\sshd.exe"

Затем настройте брандмауэр с помощью этой команды PowerShell:

New-NetFirewallRule -Name sshd -DisplayName 'SSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

Связанный контент