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 $IPC
Freigabe tun können.
Es gibt immer:
- RDP
- VNC
- Telnet
- ssh
- Linux unter Windows
Bei den letzten 3 müssen Sie zusätzliche Software installieren.
- Kpym(Telnet-/SSH-Server)
- MobaSSH(SSH-Server)
- Cygwin(eine Linux-Umgebung innerhalb von Windows ausführen)
- DamnSmall Linux - innerhalb von Windows(wie Cygwin DSL unter Windows ausführt)
VNC kann von einer eigenständigen Binärdatei ausgeführt oder installiert werden.
Die meisten Linux-Systeme haben RDP entweder bereits rdesktop
installiert oder es ist im Paketmanager verfügbar. rdesktop
Sie 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 OpenSSH
mit 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
OpenSSH
es 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/Unix
Führen Sie dann im Betriebssystem
ssh username@Windows_ip
Dabei ist Benutzername der Name des Kontos und Windows_ip
die 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