我可以从 Linux shell 连接到 Windows 机器吗?

我可以从 Linux shell 连接到 Windows 机器吗?

我可以使用 PuTTY/SSH 从 Windows 连接到 Linux 计算机。我想做相反的事情 - 从 Linux 连接到 Windows 机器。

这可能吗?

答案1

这取决于您想要如何连接。您可以在 Windows 计算机上创建共享并使用 smb/cifs 连接到共享。

语法取决于您是否在域中。

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

您还可以安装$IPC管理共享。您可以查看进程间通信,了解可以通过共享执行哪些操作$IPC

总有:

  • 远程开发计划
  • 虚拟网络控制器
  • 远程登录
  • SSH
  • Windows 上的 Linux

对于后 3 个,您需要安装其他软件。

VNC 可以从独立的二进制文件运行,也可以安装。

对于 RDP,大多数 Linux 系统要么已经rdesktop安装,要么在包管理器中可用。使用时,rdesktop您只需启用与 Windows 系统的 RDP 连接,然后您就可以将 RDP 用于完整的 GUI 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 服务器的原因,以防万一您位于防火墙后面或使用没有 dns 服务器的静态 ip。

完成此操作后,您应该找出Windows 主机的 IP 地址

ipconfig

然后从Linux/Unix操作系统做

ssh username@Windows_ip

其中 username 是帐户名称,Windows_ip是您尝试登录的 Windows 计算机的 IP 地址

答案3

是的,您可以从 Linux 客户端连接到 Windows 计算机。但为此,您必须在 Windows 计算机上托管某种类型的服务器(即 telnet、ssh、ftp 或任何其他类型的服务器),并且您应该在 Linux 上拥有相应的客户端。

答案4

如果你在 Windows 上使用 git,恭喜你,你已经可以 ssh 进入你的 Windows 机器了。

只需启动 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

相关内容