macにsshdを設定してみた

GUIでやると簡単。

システム環境設定→共有 と選び、"リモートログイン"にチェックをつける。

以上。

コマンドで、これをしようとすると mac の起動プロセスを知らないと出来ない。詳細はこちら。
http://www.itmedia.co.jp/enterprise/articles/0704/26/news009.html

設定方法は、多分 "/System/Library/LaunchDaemons/ssh.plist" の中の以下を消すだけでいいんじゃないかな。

      Disabled

セキュアな設定にするため、パスワード認証、チャレンジ・レスポンス認証は禁止し、公開鍵認証だけにする。Linuxについてですが mac も同じ。また、接続ユーザも限定した方がよりセキュアでしょう。キーの作成等については、こちら。
http://www.atmarkit.co.jp/flinux/rensai/linuxtips/432makesshkey.html

[/etc/sshd_config]
・・・
PermitRootLogin no
・・・
PasswordAuthentication no
PermitEmptyPasswords no
・・・
ChallengeResponseAuthentication no
・・・
AllowUsers user1 user2 user3

設定の意味は上から以下の通り

  • rootでのログイン禁止
  • plain text パスワードでの認証を禁止
  • 空パスワードの禁止(多分デフォルトで禁止になってる)
  • チャレンジ・レスポンス認証の禁止。この指定がよく抜けてるサイトが多いですが、公開鍵だけにするなら必須
  • 接続ユーザの指定。ここに書かれているユーザのみ接続できます。ユーザは空白区切り

WinSCPでログインできるようにする

WinSCP は、秘密鍵のフォーマットが PuTTY形式だけサポートしている。そのため、OpenSSHで作成したid_rsaファイルをそのままつかえない。
WinSCPをインストールすると一緒に付いてくる PuTTYgen というツールで、OpenSSH形式の鍵をPuTTY形式の鍵に変換することが出来る。これで変換して、以降、そのファイルを使用すればOK