2022/10/12 Updated by
[Up]
cygwin
sshサーバを起動する
- cygwinインストール時に unzip, zip, openssh, openssl を選択しておく。
[必要なパッケージ]
(Archive)
unzip
zip
(Net)
openssh
openssl
- cygwinの起動バッチファイルをシェル変数 CYGWIN の値を設定するように変更する。
/cygwin64/cygwin.bat に
set CYGWIN=binmode ntsec tty
を加える
- 管理者権限で起動した cygwin 中でssh-host-configを起動し、次のように設定する。
$ 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: パスワード
- パスワードを変更するときは cyg_server というユーザのパスワードもまた変更しなくてはいけないことを忘れるな。
- ssh サーバ (sshd)を起動する。
cyg_server アカウントの下で
net start cygsshd
または
cygrunsrv -S cygsshd
を動作させる。(reboot の後は自動で起動するようになる)
[注意] サービス名が変更された (昔) sshd → (今) cygsshd
- Windowsの設定で ファイアウォールの tcp 22番ポートを開ける。
コントロール・パネル
→「システムとセキュリティ」
→「Windowsファイアウォール」
→「詳細設定」
→「ローカルコンピュータのセキュリティ」から
→「受信の規則」を選択し、右のペインから「新しい規則...」をクリック。
→「規則の種類」から「ポート」を選択。次へ。
→「プロトコルおよびポート」から 「TCP」「特定のローカルポート」 「22」 を選択。次へ。
→名前は ssh。説明は空白。
スタートメニュー
→ 設定
→ 更新とセキュリティ
→ Windowsセキュリティ
→ ファイアウォールとネットワークの保護
→ ファイアウォールによるアプリケーションの許可
→ 上のメニューの「コントロールパネル
→ システムとセキュリティ
→ Windows Defender ファイアウォール
→ 「許可されたアプリ」から「コントロールパネル」をクリックする。
あとは上の設定にしたがって変更する。
- 外部からsshで接続してみる。接続できれば正しく動作している。
他のWindowsマシンのcygwinから
ssh ユーザ名@IPアドレス
(例) ssh nitta@192.168.1.5
Windows 11
ssh-host-config を起動した場合のlog
$ ssh-host-config
*** Info: Generating missing SSH host keys
ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519
*** Info: Creating default /etc/ssh_config file
*** Info: Creating default /etc/sshd_config file
*** Info: StrictModes is set to 'yes' by default.
*** Info: This is the recommended setting, but it requires that the POSIX
*** Info: permissions of the user's home directory, the user's .ssh
*** Info: directory, and the user's ssh key files are tight so that
*** Info: only the user has write permissions.
*** Info: On the other hand, StrictModes don't work well with default
*** Info: Windows permissions of a home directory mounted with the
*** Info: 'noacl' option, and they don't work at all if the home
*** Info: directory is on a FAT or FAT32 partition.
*** Query: Should StrictModes be used? (yes/no) no
*** Info: Updating /etc/sshd_config file
*** Query: Do you want to install sshd as a service?
*** Query: (Say "no" if it is already installed as a service) (yes/no) yes
*** Query: Enter the value of CYGWIN for the daemon: [] binmode ntsec
*** Info: The sshd service has been installed under the LocalSystem
*** Info: account (also known as SYSTEM). To start the service now, call
*** Info: `net start cygsshd' or `cygrunsrv -S cygsshd'. Otherwise, it
*** Info: will start automatically after the next reboot.
*** Info: Host configuration finished. Have fun!
nitta@gtunes3 ~