windows機にsshでリモートログイン
Cygwinが入ってるとそんなこともできるんですねぇ。
nfsのサーバーも立つってさ。でもnfsクライアントはうまく動かないらしい。。。
やり方
念のためバージョンを確認します。$ uname -r 1.5.24(0.156/4/2)
ちなみにwindowsのアカウント名が日本語の人は無理かも。
cygwin環境ののパスワードを設定する。すでに設定済みの人は飛ばす。これがsshでログインするときのパスワードになる。アカウントは今のwindowsのアカウント名でログインします。$ passwd Enter the new password (minimum of 5, maximum of 8 characters). Please use a combination of upper and lower case letters and numbers. New password: Re-enter new password: Password changed.
スクリプトを使ってsshdの設定をする。$ ssh-host-config -y
-y オプションはスクリプト中でyes/noと聞かれる場面をすべてyesにするオプション。無くても構わない。
これで/etc内にssh_configとsshd_configができる。んでsshd-configを設定しましょう。ここは設定をしなくても下に進めます。安全性を考えるならきっちりやるべきでしょうねぇ。
んでsshdの起動をする。
$ cygrunsrv -S sshd $
何も出力されませんがこれで起動完了。
(何か出力してくれてもいいと思うんだけどなぁ。)
ちなみに、-S を -E にすると停止。
つまり$ cygrunsrv -E sshd && cygrunsrv -S sshd
で再起動。sshd_configを編集したら設定反映をするためにコレ必要ネ。
確認作業。
$ ssh localhost # ここでパスワードを聞かれるので、 # 先程passwdで設定したパスワードを入力します。
sshでリモートログイン
おまけ。ってかこれやらないと上の作業が全部無意味じゃなかろうか。
これに成功すれば同じネットワーク内のPCなら、上記のwindows機にログインできます。
リモートログインってやつです。
windowsのファイウォールの設定を変更する。でないと、他のPCからのsshログインのリクエストを全部捨ててしまう。(パケット的な意味で)
以下の作業はsshホスト側の作業です。
コントロールパネル → Windows ファイアウォール
出てきたウィンドウの[例外]のタブを選択
[ポートの追加]ボタンを押す。名前をsshd、ポート番号を22と設定。(名前はなんでもOK)
ifconfigとかで、ホストのipアドレスを覚えておく。
ここでは仮に111.111.1.1とする。
(ホストに名前が付いてるなら、いらないかな。)
そしてクライアント側で
$ ssh ホストのアカウント名@111.111.1.1
# さっきと同様、パスワードを入力
で、完了。
うまく行かなかったら。。。
ホスト側の/etc/hosts.allowとか/etc/host.denyが悪さしてる。。。かも。
/etc/sshd_configを編集した人はそこも確認してください。
んでsshd_cofigを書き替えたら設定を反映させるために、sshdの再起動を忘れずに。