2020/04/27 Updated by
[Up] Japanese English

cygwin

sshサーバを起動する


  1. cygwinインストール時に unzip, zip, openssh, openssl を選択しておく。
  2.   [必要なパッケージ]
      (Archive)
        unzip
        zip
      (Net)
        openssh
        openssl
    
  3. cygwinの起動バッチファイルをシェル変数 CYGWIN の値を設定するように変更する。
  4.  /cygwin64/cygwin.bat に
      set CYGWIN=binmode ntsec tty
    を加える
    
  5. 管理者権限で起動した cygwin 中でssh-host-configを起動し、次のように設定する。
  6. $ ssh-host-config   
      Strict mode? -> no   
      new local account 'sshd'? -> yes   
      Install sshd as a service? -> yes   
      Enter the value of CYGWIN for the daemon? --> binmode ntsec   
      'cyg_server' will only be used by resistrered services.
        do you want to use different name? --> no   
      create new privileged user account 'MSI\cyg_server' --> yes   
      Enter password: パスワード   
    
  7. パスワードを変更するときは cyg_server というユーザのパスワードもまた変更しなくてはいけないことを忘れるな。
  8. ssh サーバ (sshd)を起動する。
  9. cyg_server アカウントの下で
      net start sshd
        または
      cygrunserv -S sshd
    を動作させる。(reboot の後は自動で起動するようになる)
    
    [2021/03/05] gtune上のcygwinでは
      net start cygsshd
        または
      cygrunserv -S cygsshd
    を動作させる、と表示された。(reboot の後は自動で起動するようになる)
    
  10. Windowsの設定で ファイアウォールの tcp 22番ポートを開ける。
  11. コントロール・パネル
      -->「システムとセキュリティ」
      -->「Windowsファイアウォール」
      -->「詳細設定」
      -->「ローカルコンピュータのセキュリティ」から
      -->「受信の規則」を選択し、右のペインから「新しい規則...」をクリック。
      -->「規則の種類」から「ポート」を選択。次へ。
      -->「プロトコルおよびポート」から  「TCP」「特定のローカルポート」 を選択。次へ。
      -->名前は ssh。説明は空白。
    
    スタートメニュー
      --> 設定
      --> 更新とセキュリティ
      --> Windowsセキュリティ
      --> ファイアウォールとネットワークの保護
      --> ファイアウォールによるアプリケーションの許可
      --> 上のメニューの「コントロールパネル> システムとセキュリティ > Windows Defender ファイアウォール > 許可されたアプリ」から「コントロールパネル」をクリックする。
    あとは上の設定にしたがって変更する。
    
  12. 外部からsshで接続してみる。接続できれば正しく動作している。
  13.   他のWindowsマシンのcygwinから
        ssh  ユーザ名@IPアドレス
        (例) ssh nitta@192.168.1.5