Cygwin の sshd
〜 windows 2000 で sshd 〜
2004-07-15 作成 福島
2006-01-16 更新 福島


Cygwin のプロンプトから以下を行う (Windows のコマンドプロンプトではありません)
~■■■
who@localhost ~
$ ssh-host-config[Enter]
Generating /etc/ssh_host_key
Generating /etc/ssh_host_rsa_key
Generating /etc/ssh_host_dsa_key
Generating /etc/ssh_config file
Privilege separation is set to yes by default since OpenSSH 3.3.
However, this requires a non-privileged account called 'sshd'.
For more info on privilege separation read /usr/share/doc/openssh/README.privsep
.

Should privilege separation be used? (yes/no) yes[Enter]
Warning: The following function requires administrator privileges!
Should this script create a local user 'sshd' on this machine? (yes/no) yes[Enter]
Generating /etc/sshd_config file
Added ssh to C:\WINNT\system32\drivers\etc\services
Added ssh to /etc/inetd.conf


Warning: The following functions require administrator privileges!

Do you want to install sshd as service?
(Say "no" if it's already installed as service) (yes/no) yes[Enter]

Which value should the environment variable CYGWIN have when
sshd starts? It's recommended to set at least "ntsec" to be
able to change user context without password.
Default is "ntsec". CYGWIN= [Enter]

The service has been installed under LocalSystem account.
To start the service, call `net start sshd' or `cygrunsrv -S sshd'.

Host configuration finished. Have fun!

who@localhost ~
$ net start sshd[Enter]                   --- sshd の開始
CYGWIN sshd サービスを開始します.
CYGWIN sshd サービスは正常に開始されました。


who@localhost ~
$ net stop sshd[Enter]                    --- sshd の停止
CYGWIN sshd サービスを停止中です.
CYGWIN sshd サービスは正常に停止されました。


who@localhost ~
$
cygrunsrv が無いと言われたら、Cygwin の Setup.exe を実行しなおして Category Admin の cygrunsrv をインストールする。



・cygwin のユーザ追加

cygwin には useradd コマンドが存在しません
Windows のユーザ追加を行い、それを /etc/passwd に追記します。
~■■■
who@localhost ~
$ mkpasswd -l -u UserName >> /etc/passwd[Enter]

who@localhost ~
$
UserName は Windows に追加したユーザ名です
$ mkpasswd -l > /etc/passwd でも良いのですが、sshd のシェルが /bin/bash になってしまうので好ましくありません。
本来のシェルは /bin/false (デーモン自体にはログインさせない) です。