HatenaPocketLINELINEMacBookで公開鍵のキーペアを作成し、Linuxサーバへ配置することで公開鍵認証によるSSH接続を設定します。イメージ的にはこんな感じ。(灰色:秘密鍵、黄色:公開鍵)AWS使っていると、サーバ側でキーペアが作成されて、秘密鍵をダウンロードさせられるから、イメージが逆になるんだよね。発想が逆転していてある意味すごいと思う。MacBook側でキーペアを作成MacBook側でコンソールを開き、以下のコマンドを実行して公開鍵認証用のキーペアを作成。キーペアを作っていてそれを利用する場合は、この手順は実行しなくて良い。+----[SHA256]-----+アクセス権を変更します。サーバサイドとか全く未経験だと「なんでかな?」とか疑問に思うかもしれないけど、というか僕は最初の頃思っていたんだけど、単純な話でこれを同一サーバを使っている他のユーザも読み込み変更可能だったりすると、ファイル自体を変更されたり内容を読まれてしまうのはマズイよねってことだと思ってください。~/.ssh/id_rsa*キーペアの内容を確認。←公開鍵サーバ側に公開鍵を配布キーペアが作成できたら、サーバ側に公開鍵を配布します。サーバ側にログインして、鍵を配置するためのフォルダを作成。~/.sshサーバ側にフォルダを作成したら、Macに戻ってSPCコマンドでファイルを送信します。ユーザID@サーバのアドレス:~/.ssh/authorized_keys“~”はホームディレクトリを指しています。”scp”コマンド直後に指定しているのはMac側の公開鍵のパスで、”ユーザID”と”サーバのアドレス”は配置したい先のサーバを指定し、その後の記述は配置先に”authorized_keys”というファイル名で配置。サーバ側でポート制限をしている場合は、以下のコマンドになります。ユーザID@サーバのアドレス:~/.ssh/authorized_keys公開鍵認証でSSH接続してみるサーバ側に公開鍵も配置できたので、SSH接続できるか確認しておきます。ユーザID@サーバのアドレス接続の時にMac側で指定するのは秘密鍵の方です。キーペア作成時にパスワードを設定している場合は、パスワードを聞かれるので入力。設定していない場合はそのまま接続される。サーバ側でポート制限をしている場合は、以下のコマンドになります。xxxxxユーザID@サーバのアドレス毎回このコマンドで接続しても良いんだけど、長いのでメモしておいて毎回コピペとかも面倒だと思う。いう場合は、”config”の設定をすれば、簡単に接続できるようになります。ポート番号(ポートを制限している場合)“config”を設定してしまえば、次回からは下の単純なコマンドで接続できるようになる。公開鍵認証に変更するのは、利便性向上ではなくセキュリティ向上のため。サーバ側がSSH接続のパスワード認証を受け付けたままでは意味がないので、サーバ側の設定を変更します。サーバ側にログインして、まずはSSH設定ファイルのバックアップ。/etc/ssh/sshd_config.oldバックアップが取れたら”sshd_config”ファイルを編集して、パスワード認証を禁止に設定する。←この部分を"no"に変更。コメントアウトは外す。~変更が終わったら、余計なところを変更していないかを検出するためにも、diffで確認する。変えたつもりなくても、いつの間にか変わっていることはたまにあるので、習慣はつけておいた方がいい。/etc/ssh/sshd_config続いて構文のチェック。restart再起動後、パスワード認証でアクセスしてエラーになればオッケー。一度接続してしまうとPC側で自動的に公開鍵認証アクセスをしてしまうかもしれないので、その場合は一時的に秘密鍵を別名にしてしまうなどすれば確認できる。~/.ssh/id_rsa.bk確認できたら戻しておこうね。~/.ssh/id_rsaまた、公開鍵認証でアクセスしてログインできるかも確認する。公開鍵認証で問題なくログインできればオッケーだよ!(。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。この記事のトラックバックURL最近読んだ本(Amazon商品リンク)このサイトについて「自分が興味のあることを書きながら、それを元に収益化していくことが出来たら、これ程やりがいのあることはないな」という思いで作りました。