さくらVPS設定記録 1.鍵認証~rootログイン禁止まわり


さくらVPSの設定をあーでもないこーでもないと調べながらやっているんですが、

各ブログなどで表記されている内容と
違った挙動を起こしたり違う文字が表記されるなど苦戦中。

多分、OSのバージョンの違い?とかなのかな?
そういうのも原因としてあるのかも知れない。

とにかく、せめてうまくいったところだけでも記録を取ることにしました。

【参考サイト1:あるSEのつぶやき様】
【参考サイト2:YATのBlog様】
【参考サイト3:Xliner.net Blog様】

◎以下、青文字は自分が打ち込むところ。
赤文字はシステム?が聞き返したり自動表示されたり、設定ファイルの表示。

■作業用のアカウントの作成
2のほうを参考。

useradd 新ユーザー名
passwd 新ユーザー名

すると、以下のように聞かれます。

Changing password for user 新ユーザー名
New password:

設定したいパスワードを打ち込みます。
パスワードのためか、文字は表示されません。心眼で打ち込むべし。
で、打ち込んだらエンターキー。

するとまた聞かれる。

Retype new password:

心眼が間違っても大丈夫なようにしてくれている模様。もっかい同じのを打ち込んでエンター。

passwd: all authentication tokens updated successfully.

これで作業用ユーザーの発行は完了。
あとは、このユーザーがroot権限でも作業ができるようにしておく必要があります。

usermod -G wheel 新ユーザー名

これでできるようになります。

■ここでVIMをインストールしとく

自分も特に必要とは思ってないけど、なぜか使っている人も多く、
半数ぐらいがこれを使ったことを前提にしている感じがしたので、
自分も入れることにした。
まあ、サーバー用テキストエディタみたいなもんでしょ?(違うかもしれんけど)

これも2のほうを参考。

yum -y install vim-enhanced

これを打ち込む。すると文字列が数行走る。
最後、Nothing to doとなって、いつもの[root@……]になったらインストール完了。

■鍵認証

こっから、2のブログだと躓いた。
なぜかサーバーにアップロードしたファイルのファイルネームが変えられない、とか、
鍵認証が合わない、と弾かれたりとか。

唯一うまくいったのが1.のブログの方。
サーバー側で鍵を発行するのが一番うまくいきました。個人的にですが…。

こっからは作業用権限で作業。

exit

これでTeraTarmが終了する。
んで、すぐに再起動しちゃう。
そのとき、ログインを上記で作成したユーザー名で入ること。

ログインしたら

su –

root権限に切り替える。

Password:

パスワードを聞かれるので、「root権限の」パスワードを入力する。
[]で表示されるやつが

[root@……]

に書き変われば、root権限切り替え完了。
で、すぐにもとのユーザー名に戻る。
1のブログの言い分としては…
「一度rootユーザーを通してキーペアを作成するのは、
実際の運用に合わせて」とのこと。あまり理解できない…。

su ユーザー名

これで戻れる。

ただ、最初表示されるのは
[ユーザー名@……]
なのだけど、一度rootになってから上記で元のユーザーに戻ると
[ユーザー名@…… root]
という状態に変わっていた。これが関係しているのかな?

とりあえずとにかく、ここからキーペア作成が始まる。

ssh-keygen -t rsa

すると2行ほど自動で返答される。

Generating public/private rsa key pair.
Enter file in which to save the key (/home/ユーザー名/.ssh/id_rsa):

…ここ、コマンドを「ssh-keygem」って何度も打って、
bash喰らいまくってました。すいません。

で、上記、何か言われてますがそのままエンターキー。
すると

Created directory ‘/home/ユーザー名/.ssh’.
Enter passphrase (empty for no passphrase):

と言われる。無くてもいいけどパスフレーズを設定してね!
と言ってきている。やっぱ設定したほうがセキュリティはいいらしい。
なので設定。
パスワードと同じ扱いなので打ち込んでも何も表示されない。
また、打ち込んだら心眼間違い防止のため、同じことをもういっかいやって、とせがまれる。

Enter same passphrase again:

もっかい打ち込んだら完了。
以下のように表示される。

Your identification haz been saved in /home/ユーザー名/.ssh/id_rsa.
Your public key haz been saved in /home/ユーザー名/.ssh/id_rsa.pub.
(以下、文字列と絵が数行にわたって表示される)

これでとりあえずキーペアのファイルはできあがったらしいです。
で、今度ファイル名を書き換えないといけないらしいので、ファイル名変更します。

mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

上の行、「mv」というのがファイルのリネームですね。
下の行では、リネームしたファイルを今度はパーミッション変更しています。

さて、こっから今度はファイル「authorized_keys」の内容を変更。
こっからvimを使います。

が、なぜかこっからはroot権限が必要なので、
またsu使ってroot権限に入れ替わります。root権限への入れ替わり方は上述で記載済み。

で、root権限で入って、以下のように入力。

vim /etc/ssh/sshd_config

すると青い文字でごにょごにょいっぱい書かれた文字が出てくる。
これがvim上での画面。
ただ、vimの使い方についてはここでは割愛。
とりあえず自分は「Vimの使い方(入門)」を見た。

どの行かわからんけど、
♯PubeyAuthentication yes
となっている行がある。

これの♯だけ取り外す。

PubeyAuthentication yes

保存、VIM終了。

そして最後はsshを再起動させる。

/etc/init.d/sshd restart

そしたら以下のような表示。
Stopping sshd:           [ OK ]
Starting sshd:             [ OK ]

これが出たら再起動完了。

ほんで、次にSSHの秘密鍵をサーバーから取ってくる。
普通はUSBとかでやれよ!ってほかのブログで注意されてたけど
実情はなかなかうまくいかないです。ごめんなさい、はい。

というわけでWinSPCで取ってくる。
ダウンロードはこちら

ホスト:メールでもらったIPアドレス
ユーザー名:作ったユーザー名
パスワード:ユーザー名のパスワード

これでWinSPCでログイン。FTPみたいな画面になる。
ログインした直下には.sshフォルダがあるので、そこに入る。
すると
authorized_kesy
id_rsa
ふたつのファイルがある。
id_rsaファイルをローカルにダウンロードする。

これで、今後はこのid_rsaファイルを使ったら鍵認証できる。

一度TeraTarmの接続を切断。(×ボタンでぶった切ればいい)。
すぐに立ち上げる。
ユーザー名とパスワードを聞かれるところの真ん中あたりに
「RSA/DSA鍵を使う」というのがあるので、ラジオボタンをチェック。
先ほどのid_rsaファイルを秘密鍵に指定。
このとき、パスフレーズは設定したパスフレーズを使うこと。

これで鍵認証でログインできるようになった。

■その他セキュリティまわり

で、残り三つ。今のままだと
・SSHのポートが22番のままで攻撃されやすいのでポート変える。
・root権限のユーザーを作れなくする。
・鍵認証以外の方法、rootでもログインできるので、ログインできなくする。
これを解決する。

まずはSSHのポート変更。
参考にしたのは2のほう。

ログインしてroot権限に変更。このあたりは流石に割愛。敢えて言うならsu -デスヨ。

vimでSSHの設定ファイルをいじる。
vim /etc/ssh/sshd_config

vimでファイルが開かれたら、「♯Port 22」と書いている行を探す。
そのすぐ直下の行に
Port 使いたいポート番号
と記載する。バッティングしないように5桁番号を使ったほうがよいのかな。
「♯」はコメントアウトの意味なのでつけないこと。

そして保存。ついでにSSH再起動。これでPort番号変更完了。

そしてroot権限のユーザーを勝手に作られて乗っ取られたら大変。
勝手にrootユーザーすら作れないようにする。
参考にしたのは3のブログ。内容がちょっと違ったけど、行数が違っただけなので
なんとかなった。

vim /etc/pam.d/su

打ち込むと何かの設定ファイルが開かれる。
これの5行目にある文章
#auth           required        pam_wheel.so use_uid
のコメントアウトを外す。そんで保存。

保存すればもうroot権限を作れなくなっているはず。
(restartとかは必要ないっぽい…?)

で、いよいよroot権限とパスワードのログイン禁止にほんとに入っていきます。
参考にしたのは2のブログ。

vim /etc/ssh/sshd_config

またこのファイルを開く。
そして以下の2行をそれぞれ探す。
(別別の場所にあるので注意)

#PermitRootLogin yes
PasswordAuthentication yes

上の行のほうは、コメントアウトを外してnoにする。
下の行のほうは、普通にnoにする。

PermitRootLogin no
PasswordAuthentication no

これで保存。そしてSSH再起動。おわり。

次回、IPテーブルを使ったFireWall作成の予定。

コメントを残す

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

This blog is kept spam free by WP-SpamFree.