SSHの設定 公開鍵の作り方
今回ハマった箇所
今回もハマりました!!
凄い!!!!!
サーバーかクライアントか
クライアント側(自分のPC)で設定する箇所をサーバー側でやっていました。 公開鍵を作ったり、登録したりはクライアント側でやると気付いた時は恥ずかしいやら恥ずかしいやらでした。 そりゃ進まねー訳だよ!
クライアントサイドの操作かサーバーサイドの操作かってめっちゃ大事ですね。 ちゃんと確認せな。
configのコメントアウトを外していない
#PermitRootLogin yes
などの設定を#PermitRootLogin no
に変えてやったー!とか思ってたんですがこのまま進めたらポート番号無しでサーバーにログイン出来てしまった。
セキュリティーガバガバやんけ!
なんでこーなっかたっていうと#コイツ
コイツ#が付いてるってことはこの右に書かれている文字は全てタダのコメントですってことです。 コメントアウトってやつ。
だから、#で書いて有るところは初期値で別にここに書いて有るから設定が効いてる訳じゃないので#右の文字全部消してもそのまま動きます。
なので、#を外して
PermitRootLogin no
としてあげると設定が効きました。
configの設定
- ポートを変更する
- PasswordAuthentication yesのyesをnoに変更する
- 変更を有効にするためのサーバーの再起動
上二つは昨日と同じ要領で書き換え、三つ目は$ sudo /etc/init.d/ssh restart
で色々調べたけれどフィヨルドブートキャンプのプラクティスが一番分かりやすかったです。
でも、見逃していた…
公開鍵の設定方法
参考にしたサイトです。
Mac OS X から Linuxサーバ へ、RSA 鍵を用いて SSH 接続する
鍵を作る
(1) まず、クライアントでキーペア(秘密鍵と公開鍵)を作ります。本例では、client_rsaというRSA鍵を作成。
$ cd ~/.ssh
$ ssh-keygen -f client_rsa -t rsa -b 2048
Enter passphrase: パスワードを設定する場合は入力してEnter。不要ならEnter。
Enter some passphrase again: もう一度同じように入力。
鍵を送る
scp ~/.ssh/作った鍵の名前これをサーバーに送る サーバーのuser名@サーバーのアドレス:~/.ssh/作った鍵の名前(←名前を変えたかったらここを変更する)
私はさくらVPNを使っているのですがさくらVPNのサーバーのアドレスはVPNコントロールパネルのIPv4のアドレスと書かれているところにあります。
これ↓
tarminalからこんなコードを送ってRSA鍵を送信する。 パスワードを求められるので入力する(サーバー側のパスワード)
鍵を使う
ssh -p ポート番号 サーバーのuser名@サーバーのアドレス
これで入れました。
$マークの前の表示がサーバーのuser名とホスト名に変わって入ればOK
exitを入力するとサーバーからログアウト出来る。
以上ですー
おまけ
ちゃんと設定出来ているかどうかの確認 こんな感じです