メシのタネ

めしのたねになるIT情報配信サイト


もう公開鍵認証なんて怖くない!ってくらいに設定方法書いてみたよ!

,

  1. OS
  2. CentOS
  3. もう公開鍵認証なんて怖くない!ってくらいに設定方法書いてみたよ!

kagisshjyou

何回この鍵ではまるか分からないんですけど、もうほんと今日で最後にしたいと思います。要所をメモしていきます。

ユーザーを作成する

SSH用のユーザーを設定します。やり方はこんな感じ。

ディレクトリの権限とかも変えておきましょう

TCP Wrapperの設定

inetdを起動できるようにするものらしいです。inetdは指定したポート番号にTCPorUDPパケットが来た場合に対応するプログラムを起動してコネクションを制御してくれます。なんか難しい書き方ですけど、要は必要な時に必要なインターネットサービス(telnetとかFTPとか)を起動してくれるものらしいです。で、SSHでもこれを設定セヨって人が居るってことはSSHにも関係があるってことでしょうね多分。

こんな感じで設定します。/etc/hosts.allow接続を全てのホストから許可し、/etc/hosts.denyで全ての接続を拒否しますがallowで許可したものは省きます。ホワイトリスト的なものなんでしょうか。誰か教えて下さい。

鍵を作る

結構手順が色々前後しますけど、要は公開鍵と秘密鍵を作って公開鍵をauthorized_keysに保存してsshの設定を書き換えれば設定が完了となるわけです。何となく分かる人は、別に手順無視でも大丈夫だと思います。で、鍵の作り方ですが、windowsとmacで違います。windowsはputtyってツールを作って鍵を作成します。teratermでも作れます。

鍵の作り方windows

・puttyなら下記リンクの参照
PuTTY で鍵交換方式による SSH 接続
・teratermなら
1.設定→SSH鍵生成→鍵の種類はRSA→ビット数は2048で生成をクリック
2.作成が完了したら鍵のパスフレーズを入力パスフレーズの確認を入力して公開鍵と秘密鍵を保存します。
*秘密鍵の名前を変えるとログインできなかったので、変えないほうが良いと思います。

macの場合

SSHの公開鍵を作成しGithubに登録する手順ここに詳しく載ってます。

公開鍵をアップロード

公開鍵をサーバーへアップロードします。ファイル転送しなくても適当なファイルをユーザディレクトリに作って内容コピーでも大丈夫な気がします。

公開鍵アップロードのやり方

作成前に、自分のユーザディレクトリにアクセスした方が良いです。

cd /home/hoge

teratermでのやり方として1例だけ上げておきます。
sshkeys-1

authorized_keysの作成方法

公開鍵がアップロードされてる前提で話を進めます。

こうやればおっけーです。

sshd_confの設定

はい、そしてようやくSSHの設定に行きます。

何を設定するの?

  • rootログインの禁止
  • 空パスワードでのログイン禁止
  • パスワード認証の禁止
  • 公開鍵認証の許可
  • 認証鍵の場所
  • ChallengeResponseAuthenticationの禁止*1

設定のやり方


接続ポート変えたりするとブルートフォースの対策になりますが、説明のしかた間違うと怖いのでもう少し調べてからにします。いやもう既にやばいかも知れませんがネェ。


コメントを残す

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

Laravel
Laravel Eloquent sync 系メソッド完全攻略 — 安全な同期のための 5 大リスクと回避策New!!
Laravel
belongsToMany 実戦ガイド ── “withPivot”で追加カラムを守る 中間テーブル設計チェックリストNew!!
PHP
魔王と行く! / Interface / Polymorphism / Ontology 深淵ガイドNew!!
Laravel
Laravel 12、「コード 1 行も書き換えず未来へ」──静かな革命の手順書New!!
Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみた
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体