サーバー認証を鍵で行う方法

server
LINEで送る
Share on GREE
Share on LinkedIn

WEBサーバーの運用をする場合、ID/PWでSSHアクセスをしていると、パスワードを知っている人であれば、世界中どの場所からもアクセスしてログインが可能になってしまいます。

色々な方法で回避できますが、とりあえず、その端末だけがアクセス可能な鍵を登録してしまうことで、まずはクライアント端末認証、鍵認証と2段階のセキュリティを設けることができるので、サーバーの設定方法と運用方法をメモします。

設定方法

1.クライアント端末の鍵を作成(macとLinux)

-f : 出力ファイル名
-t : 暗号化方式

コマンドを実行すると、以下の2ファイルが作成される。

hoge(秘密鍵)
hoge.pub(公開鍵)

2.サーバー(Linux)に公開鍵をアップロード

通常のsshと同じようにパスワードを入力してください。

3.サーバー設定

4.クライアントのターミナルから、アクセスしてみる。
$ ssh -i hoge %user%@%server-address%

パスワードなしでログインできれば、成功です。お疲れ様でした。

パスワードが聞かれる場合

実はこれですんなりログインできない場合がある。
上記でも書いてあるが、パーミッションの設定を非常にシビアに行わないと、一切適応できない。

注意ポイントは以下

1.「authorized_keys」のファイル権限が600かつ、対象ユーザー
2.「.ssh」ディレクトリのパーミッションが700
3.ユーザーのルート・ディレクトリのパーミッションが700

とりあえず、上記がセットされていれば、問題ないはずだが、これでもうまくいかない時は、ログを確認しよう。

その他の作業

sshでパスワードログインが必要ない場合は、/etc/ssh/sshd_configを修正して、パスワード認証をOFFにしてしまおう。
sshd_configを修正した後は、モジュールのrestartだが、その前にsshd_configのsyntaxチェックをしてみよう。

SSHでrootログインを許容するには

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*