LinuxシェルからWindowsマシンに接続できますか?


68

PuTTY / SSHを使用して、WindowsからLinuxマシンに接続できます。私は別の方法でやりたいです-LinuxからWindowsマシンに接続します。

これは可能ですか?


:以下の答えを参照してください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
  • telnet
  • ssh
  • Linux on Windows

最後の3つでは、追加のソフトウェアをインストールする必要があります。

VNCは、スタンドアロンのバイナリから実行することも、インストールすることもできます。

RDPの場合、ほとんどのLinuxシステムは既にrdesktopインストールされているか、パッケージマネージャーで利用可能です。使用してrdesktopあなただけのWindowsシステムへのRDP接続を有効にして、あなたは完全なGUI for WindowsコンソールRDPを使用することができますがあります。


7

はい、LinuxクライアントからWindows Machineに接続できます。ただし、そのためには、Windowsマシンで何らかのサーバー(telnet、ssh、ftp、またはその他のサーバー)をホストする必要があり、Linuxに対応するクライアントが必要です。


2
WindowsはLinuxよりもGUIに依存しているため、最善の策はおそらくRDPです。
cjm

質問の中でftpのようなものが意図されていたとは思わない。そして、telnet-...本当に?
ユーザー不明

ええ、彼はおそらくsshを意味していた...
jcora

@pradeepchhetriそして、Windowsはデフォルトでこのサーバーのいくつかをアクティブにしていますか?
H_7

3
@ H_7:Windowsはtelnetおよびftpサーバーをサポートしますが、デフォルトでは実行されていません。次の方法で実行する必要があります。1.コントロールパネルに移動-> 2.プログラムと機能-> 3. Windowsの機能をオンまたはオフにします。ここで、サーバーまたはクライアントのリストを確認できます。ここからtelnetまたはftpサーバーを実行できます。
-pradeepchhetri

5

を使用している場合は、次のPowershellスクリプトを使用してWindows 10インストールできOpenSSHます。

#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サーバーなしで静的IPを使用している場合に備えて、動作するインターネット接続と正しいDNSサーバーが必要です。これが静的DNSサーバーを指定した理由です。

これを行ったら、Windows ホストのIPアドレスを使用してください。

ipconfig

次に、Linux/UnixOS から

ssh username@Windows_ip

ここで、usernameはアカウントの名前であり、ログインWindows_ipしようとしているWindowsコンピューターのIPアドレスです。


Windowsのインストールでは、最初の行以外は何も実行されません。応答は「Sart-Sleepは内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません」です。だから、これはあなたが望むほどクッキーカッターではありません:
levitopher

1
匿名ユーザーは、(失敗した)編集で、で始まる行Repair-SshdHostKeyPermissionが不要であることを指摘しました。これが本当かどうかは分かりませんが、万が一メモが永久に失われるのは望ましくありません。
ロアイマ

4

RDPまたはteamviewerのようなソフトウェアを試してみたいと思うかもしれません。また、Windowsマシンにcygwinをインストールし、sshアクセス用に構成することもできます。そのため、sshで接続すると、Linuxから既知のシェルを取得できます。


2

Androidのopensshサーバーのように、Windowsマシンにopensshサーバーをインストールする必要があります。iinuxマシンのputtyを使用してWindowsマシンにsshすることができます。


1
なぜWindowsにsshするためにLinuxマシンのパテが必要なのですか?sshそれは通常、Linuxマシンに既にインストールされています。
alpha_989

2

Windowsでgitを使用している場合、おめでとうございます。すでに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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.