Kann ich von der Linux-Shell aus eine Verbindung zu einem Windows-Computer herstellen?

Kann ich von der Linux-Shell aus eine Verbindung zu einem Windows-Computer herstellen?

Ich kann mich von Windows aus mit PuTTY/SSH mit Linux-Rechnern verbinden. Ich möchte es andersherum machen – also von Linux aus eine Verbindung zu einem Windows-Rechner herstellen.

Ist das möglich?

Antwort1

Dies hängt davon ab, wie Sie eine Verbindung herstellen möchten. Sie können Freigaben auf dem Windows-Computer erstellen und smb/cifs verwenden, um eine Verbindung mit der Freigabe herzustellen.

Die Syntax hängt davon ab, ob Sie sich in einer Domäne befinden oder nicht.

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

Sie haben auch die Möglichkeit, die Freigaben und Verwaltungsfreigaben zu mounten $IPC. Sie können in der Inter-Process Communication nachsehen, was Sie über die $IPCFreigabe tun können.

Es gibt immer:

  • RDP
  • VNC
  • Telnet
  • ssh
  • Linux unter Windows

Bei den letzten 3 müssen Sie zusätzliche Software installieren.

VNC kann von einer eigenständigen Binärdatei ausgeführt oder installiert werden.

Die meisten Linux-Systeme haben RDP entweder bereits rdesktopinstalliert oder es ist im Paketmanager verfügbar. rdesktopSie müssen nur RDP-Verbindungen zu Ihrem Windows-System aktivieren und können RDP dann für eine vollwertige GUI-Windows-Konsole verwenden.

Antwort2

Wenn Sie verwendet werden Windows 10, können Sie die Installation OpenSSHmit dem folgenden Powershell-Skript durchführen.

#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

Bitte beachten Sie, dass dieses Skript den DNS in Google DNS ändert. Da OpenSSHes nicht mit der Standardverteilung verteilt wird Windows10, lädt es tatsächlich einige Dateien aus dem Internet herunter. Sie benötigen also eine funktionierende Internetverbindung und einen korrekten DNS-Server. Deshalb habe ich den statischen DNS-Server angegeben, nur für den Fall, dass Sie sich hinter einer Firewall befinden oder eine statische IP ohne DNS-Server verwenden.

Windows Sobald Sie dies getan haben, sollten Sie die IP-Adresse des Hosts herausfinden, indem Sie

ipconfig

Linux/UnixFühren Sie dann im Betriebssystem

ssh username@Windows_ip

Dabei ist Benutzername der Name des Kontos und Windows_ipdie IP-Adresse des Windows-Computers, bei dem Sie sich anmelden möchten.

Antwort3

Ja, Sie können sich von einem Linux-Client aus mit einem Windows-Rechner verbinden. Dafür müssen Sie aber einen Server (z. B. Telnet, SSH, FTP oder einen anderen Server) auf dem Windows-Rechner hosten und den entsprechenden Client auf dem Linux-Rechner haben.

Antwort4

Wenn Sie Git unter Windows verwenden, herzlichen Glückwunsch, Sie können bereits per SSH auf Ihren Windows-Computer zugreifen.

Starten Sie einfach den SSH-Server:

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

Konfigurieren Sie dann Ihre Firewall mit diesem Powershell-Befehl:

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

verwandte Informationen