komeの備忘録

東大理系大学院生の技術ブログ。たまに趣味。

macOS highSierraに公開鍵認証で安全にsshログインする

mac miniを買ったのでsshログインしてリモートで作業したいなぁという要望があったので、公開鍵認証のsshサーバを構築したメモ。非常に簡単。

sshのインストールとconfigの設定

インストールって書いたけど、普通に最初からsshは入っていた。

sshd_configはネットの記事を見ていたら、/etc/sshd_configにあるぞ!って言われたけど、そんなわけ無いだろ。。。と思いつつ一応見てみたらやはりそんなわけなかった。 正解は、/etc/ssh/sshd_configにあります。

以下、編集箇所

PermitRootLogin no                       # <- ルートでログインできないように
PermitEmptyPasswords no                 # <- パスワード空の認証をできないように
ChallengeResponseAuthentication no      # <- チャレンジ応答認証を禁止。
PasswordAuthentication no               # <- パスワード認証を禁止
RSAAuthentication yes                   # <- RSA鍵認証を許可
PubkyAuthentication yes                 # <- 公開鍵認証を許可
AuthorizedKeyFiles .ssh/authorized_keys # <-公開鍵がおいてある場所

ssh再起動

上記の変更をしたら、sshを再起動する。 ubuntuならsudo systemctl restart sshでいいのにmacってどうやるんだってしらべたら、 環境システム設定 -> 共有 -> リモートアクセスを無効にして有効にするらしい(もともと無効になってたら、有効にするだけ)

GUIキモい。。。ってなって少し調べたら、ちゃんとCLIのコマンドも存在した。

$ sudo launchctl stop com.openssh.sshd

動作確認

他の端末からsshログインしてみて、パスフレーズを聞かれずにログインできるか確認する

$ ssh [user]@[IPアドレス]    # 他端末から実行