sshの初期設定
新年もあけたということで、さくらのVPSの再構築でもしようかと。
まずは、大事なアカウントとsshまわりの設定から。
http://blog.myfinder.jp/2010/09/vpsssh.html
ほぼ、↑のサイトに沿ってやってって感じです。
wheelグループの登録とか、sudo実行のログ取得とか、
自分の知らなかった設定方法がのってたので、勉強になりました。
大体の流れは、こんな感じです。
- 一般ユーザの作成
- 公開鍵認証のための鍵の生成と配置
- sshdの設定
- ログインテスト
- sudoの設定
- rootパスワードの無効化
- sudo実行のログ取得設定
以下、詳細というか、自分なりの補足です。
一般ユーザの作成
さくらのVPSでOSを再インストールすると、最初はrootしかアカウントがないので、まずは自分用のアカウントを作ります。
$ ssh <sakura's server> -l root # useradd tkak # passwd tkak # usermod -G wheel tkak # id tkak # ls -ld /home/tkak
usermod -G wheelは、root権限をwheelグループに属するユーザに制限するため。
※ wheelグループ: http://itpro.nikkeibp.co.jp/word/page/10005502/
公開鍵認証のための鍵の生成と配置
次に、sshするときパスワード入力をしないようにするため、
クライアント側で秘密鍵と公開鍵を生成して、公開鍵をサーバ側に登録します。
クライアントPCで
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/<home dir>/.ssh/id_rsa): <- Enter Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /<home dir>/.ssh/id_rsa. Your public key has been saved in /<home dir>/.ssh/id_rsa.pub. The key fingerprint is: ... $ ls -l ~/.ssh/ $ scp ~/.ssh/id_rsa.pub tkak@<sakura's server>:.
※ dsaよりもrsaのほうが安全性は高いらしいです。
http://monoknock.blog116.fc2.com/blog-entry-34.html
さくらのサーバで
$ mkdir .ssh $ ls -ld ~/.ssh $ cat id_rsa.pub > ~/.ssh/authorized_keys $ rm id_rsa.pub $ chmod 600 ~/.ssh/authorized_keys
sshdの設定
rootでのログインを許可しない、パスワード認証をしないための設定を入れます。
# vi /etc/ssh/sshd_config --- // yesからnoに変更 PermitRootLogin no PasswordAuthentication no --- # /etc/init.d/sshd restart
※sshdの設定って、頭に#がついているものは、無効化されているのではなく、デフォルトの設定なんだってね…。知らなかったー。
ホントのコメントは頭に「#と (半角スペース)」がついている。
ssh: http://open-groove.net/linux/sshd_config-option/
ログインテスト
ここで、ログインのテストをしてみます。
$ ssh <sakura's server> Permission denied (publickey,gssapi-with-mic).
あれ、、、なんかsshできない…。
調べてみると、.sshのパーミッションが700になってないとでるみたい。
※sshで「Permission denied (publickey,gssapi-with-mic).」が出た時: http://d.hatena.ne.jp/h-yano/20080225/1203952174
修正します。
$ chmod 700 ~/.ssh $ ls -ld ~/.ssh
再度sshしたら、ログインできました!
$ ssh <sakura's server> SAKURA Internet [Virtual Private Server SERVICE] <sakura's server>$
以下の3つは、
http://blog.myfinder.jp/2010/09/vpsssh.html
↑のやり方そのままなので、省略します。(別にめんどくさくなったからとかじゃ、、、
- sudoの設定
- rootパスワードの無効化
- sudo実行のログ取得設定
sudoを誰が実行したかログを取得するようにすれば、
rootになろうとして失敗したときにアラートメールを送信するなんてこともできますね。
と、まぁ、そんな感じで、
sshの初期設定が完了しましたー。
-- 追記 --
変にsshアクセスされるのも嫌なので、
sshのデフォルトポート22番をハイポート(1024~65535)に変更しておきます。
# vi /etc/ssh/sshd_config --- #Port 22 Port XXXXX ---
クライアントから接続するときは、下記になります。
$ ssh <sakura's server> -p XXXXX