作業はmacのターミナルで行なってます。
サーバーにアクセスする
契約後届くメールに書いてあるIPアドレスとパスワードを使用してrootとしてログインする。ssh root@xxx.xxx.xxx.xxx #パスワードを聞かれるのでメールで送られてきたrootのパスワードを入力 #ログイン後ソフトウェアのアップデートを確認 yum updateログインできたら言語設定を日本後に変更
「/etc/sysconfig/i18」を編集して以下のようにすることで言語設定を日本語に
LANG="ja_JP.UTF-8" SYSFONT="latarcyrheb-sun16"
サーバーで使用するアカウントを作成する
rootでログインを禁止するために普段使うアカウントを作成します。
rootでのログインを禁止したい理由はおそらく以下のようなことだと思います。
- ユーザの権限を管理したい
- アカウント名がrootということがわかっているので総当たり攻撃でログインしやすい
- 間違って設定ファイルを編集しない
ユーザの追加方法
useradd user_name passwd user_name
先ほど作成したアカウントでsudoコマンドを使用可能にする
usermod -G wheel user_name visudo #開いたファイルで次の行を有効化(105行目付近) %wheel ALL=(ALL) ALL
今作成したアカウントでのログインを試す。
rootでのログインを無効にしたあとにログインができないと困るので必ず試してください。
#ローカルで ssh user_name@@xxx.xxx.xxx.xxx #パスワードを求められるでの先ほど設定したパスワードを入力 #以下サーバー側 #root 権限で編集を行う sudo -s #設定ファイルを変更する前にはバックアップをとる cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak vim /etc/ssh/sshd_config #root でのログインを禁止 PermitRootLogin no #コメントアウトされてるのでyesをnoに変更後有効化 #編集が終わったら反映させる service sshd restart
これでsshでrootでのログインができなくなったはずです。
sshでパスワードでのログインではなく、公開鍵認証を利用してログインする
パスワードでのログインよりも、公開鍵認証でのログインのほうが安全性が高いためこっちを利用します。
#鍵の保存場所を作成 mkdir ~/.ssh cd ~/.ssh #鍵の作成、今回はRSA暗号方式を利用 ssh-keygen -t rsa #パスフレーズを聞かれます #パスフレーズは設定しないことも可能ですが、その分だけセキュリティが低下します #~/.ssh/ の中にid_rsa(秘密鍵)とid_rsa.pub(公開鍵)が作成されていれば成功 chmod 600 id_rsa.pub #公開鍵の権限を変更 #公開鍵を転送サーバー側に転送 scp ~/.ssh/id_rsa.pub user_name@xxx.xxx.xxx.xxx:~/.ssh/authorized_keys # :以下は転送先を指定します公開鍵の名前は「authorized_keys」が一般的らしい #転送に失敗した場合はサーバーで先に.sshフォルダを作成してみてください #ファイル転送はsftpでも問題はないです #公開鍵でログインできるか確認 ssh -i user_name@xxx.xxx.xxx.xxx
公開鍵でログインができたら今度はパスワードでのログインを禁止します
#サーバー側 sudo -s #設定ファイルを変更する前にはバックアップをとる cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak vim /etc/ssh/sshd_config #yesをnoに変更 PasswordAuthentication no #編集が終わったら反映させる service sshd restart
これでパスワードでのログインを禁止して公開鍵認証でログインするようになりました。
0 件のコメント:
コメントを投稿