ナビゲータのEVEです。
本日は、XServerへsshでログインする際の認証方式を、公開鍵認証方式にする作業をしました。
[よく考えたら]
XServer では、 公開鍵認証方式 を導入するのに、OSインストール画面で選択する仕様となっています。OSのインストール実行時に、 公開鍵 と 秘密鍵 を作り、そのうち秘密鍵を1度だけダウンロードするという仕様になっています。ただ、なんか、ここで違和感が・・・。Webサーバーとか作る場合、公開鍵と秘密鍵のペアをクライアント側で作成し、そのうち公開鍵を申請するという流れだった様な気がします。秘 密鍵って手元から手放しちゃいけないモノ だったのではないでしょうか?
そんなことを考えながら、今回は、ノートパソコンの 仮想環境 で公開鍵と秘密鍵を作成し、公開鍵だけをアップロードして設定をしました。
予め、公開鍵と秘密鍵を作っておいたと言うこともあるのですが、設定自体はすご〜く簡単!公開鍵のリストと、クライアントの公開鍵の2ファイルをアップロードし、同ファイルに所有権とアクセス権を設定すれば、完了!
後は、所定の方法で、クライアントから正常にアクセスできれば設定完了です。
っでやってみたところ、 TeraTerm からも WinSCP からも正常に接続!!!
ただ、この設定以降は、公開鍵認証方式のみでログインするようにしたいのですが、そこでつまづきました。
[公開鍵認証方式だけを有効にする]
公開鍵認証方式のみを有効にするには、以下のファイルの設定を変更します。
/etc/ssh/ssh_config
以上のファイルを vi 等で表示後、以下の4行を追加します。
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM no
PasswordAuthenticationだけが、コメントアウトされた状態で、PasswordAuthentication noと記述されていましたが、それ以外の設定は、 ChatGPT から提供されたテキストをそのまま貼り付けました。
ただ、ここで問題が・・・。このあと、 ssh のサービスを再起動すれば、設定が有効になるはずなのですが、有効になりません。どうしてなのかChatGPTに聞いてみたところ、ssh_configファイルの最終行に以上の4行を移動しろとの指示が・・・。移動後、sshのサービスを再起動してみましたが、うまくいかず・・・。ここから、またかなりの時間を使ってしまいました。
[じゃ、どうする?]
かなりの時間を要しいろいろなことをしたのですが、ほとんど何をしたのか覚えていません。クライアントのキャッシュに何か残っているんじゃないかとか、いろいろ勘ぐっても分からず、最終的に、サーバーを再起動したら、設定が有効になりました。
この設定は、ユーザー毎の設定ではなく、全てのユーザーに有効になります。したがって、これ以降は、 www.pro2grammer.com へは公開鍵認証方式でしかログインができません。これで、安心して作業ができそうです。
[あとがき]
やはり、初めてやるコトって時間がかかってしまいますね・・・。ただ、現在は、ChatGPTがいるので、気軽に質問でき、以前よりは短時間で作業を完了することができます。イイ世の中になりました。
では、明日は、具体的にどうするのか、最初から、公開鍵認証方式設定方法を御紹介したいと思います。
では、また!!!