Web制作を行う全ての方へ

さくらVPSで使っているコマンドリストやサーバーの初期設定

さくらVPSを契約して色々サーバーを弄ってるんですが、今までSSHに触れて来なかったのでまずそこで四苦八苦してました。軽く覚えるためにもコマンドリストを作ったので公開しておきます。これで自分の見たい時に見れるし編集出来て便利ですね。

あとそれらを使って最初に設定する初期設定も記述しておきます。

  1. 1.コマンドリスト
  2. 2.さくらVPSでひとまずやったこと。初期設定
  3. 3.ログイン→作業用のユーザー作成
  4. 4.vimのインストール
  5. 5.SSHのポート番号を変更
  6. 6.パスワード認証から公開鍵認証(RSA認証)に切り替える7.システムの更新
  7. 7.CentOSの環境を日本語化
  8. 8.システムの更新
  9. 9.まとめ

1.コマンドリスト

  1. ・ファイル操作
  2. ・ファイル検索
  3. ・セキュリティ
  4. ・解凍・圧縮
  5. ・システム関連

 

コマンド 概要
ファイル閲覧
pwd 現在のディレクトリに関するフルパスを表示
cd ディレクトリ名 ディレクトリの移動。絶対パス指定でそのディレクトリへ。cdだけだとホームディレクトリへ移動します。
mkdir ディレクトリ名 ディレクトリの作成
rmdir ディレクトリ名 ディレクトリの削除(中身が空のもののみ)
 -r ディレクトリの削除(中身のものも含めて)
ls 現在のディレクトリ内のファイルを一覧表示
 -d 指定ディレクトリ自身の情報を表示
 -a 隠しファイルも表示
 -l 詳細情報の表示
 -F ファイルの種類を示すマークを付けて表示
 -R ディレクトリの下層までたどって表示
ファイル操作
touch ファイル名 空ファイルの作成。
cat ファイル名 ファイル内容の表示
 -n 行番号付きで表示
rm ファイル名 ファイルの削除。
 -i ファイル削除の際に確認する
 -rf ファイル強制削除。対象ファイル及び直下のファイルを削除するので利用時は注意しましょう。
cp ファイルA ファイルB ファイルAをファイルBにコピー
 -i ファイルの上書きを確認
 -p 最終更新日、所有者といった属性もそのままコピーする
mv ファイル名 移動先ディレクトリ名 ファイルを指定ディレクトリに移動
mv ファイル名A ファイル名B ファイル名Aをファイル名Bにリネーム
 -i ファイルの上書きを確認する
ファイル検索
find ディレクトリ名 指定したディレクトリの中身を表示
 -name 文字列 文字列に一致するファイルやディレクトリを検索(※「文字列」にはワイルドカード文字を使用できる。その時は文字列を””で囲む。)
 -user ユーザー名 指定ユーザ名が所有者のファイル・ディレクトリを検索
 -size サイズ 指定サイズのファイル・ディレクトリを検索(※サイズは「+5k(5キロバイト以上)」「-512c(512バイト以下)」などと指定。)
 -type f(d) 指定した種類のファイル(ディレクトリ)を検索(fをつければファイルを、dをつければディレクトリを検索)
 -amin 分 最終アクセスが指定分に該当するファイル・ディレクトリを検索
locate 文字列 指定文字列を名前に含むファイル・ディレクトリを検索
セキュリティ
chmod アクセス権の変更
last ログイン履歴の表示
ssh-keygen 認証用の鍵を生成、管理、および変換する
解凍・圧縮
tar -xvzf ファイル名.tar.gz tar.gzファイルの解凍
tar -cvzf ファイル名.tar.gz ファイルパス tar.gzファイルの作成。ファイルパスの部分にファイル名を記述することでそのファイルを圧縮する。
システム関連
su rootになる。Root権限を持ったユーザーになることができます。
sudo root権限を持たないユーザーで、root権限が必要なコマンドを利用するときに使います。(sudoを実行するユーザーのパスワード入力を求められます)
shutdown シャットダウン
 -r シャットダウンして再起動
 -h シャットダウンして停止
 hh:mm 指定した時間にシャットダウン
 +数字 指定した分経過後にシャットダウン
reboot 再起動
hostname ホスト名(コンピュータ名)を表示
groups 所属グループを表示
chown ユーザー名 ファイル名 ファイルの所有者を指定したユーザーに変更
chgrp グループ名 ファイル名 ファイルの所有グループをgroupに変更
useradd ユーザー名 新しいユーザーを登録
userdel ユーザー名 ユーザを削除
groupadd グループ名 新しいグループを登録
groupdel グループ名 グループを削除
passwd ユーザー名 指定ユーザのパスワードを設定
who 現在ログインしているユーザを表示
whoami 現在のログイン名を表示

2.さくらVPSでひとまずやったこと。初期設定

いろいろなブログで紹介されてるので重複するんですけど、備忘録のために書いておきます。

ちなみに僕はwindows環境で作業をしていますので、TeraTermを利用しており、それを元に解説しています。

3.ログイン→作業用のユーザー作成

最初はroot権限のままのrootユーザーしかありません。セキュリティや危険性を考えるとこのまま作業するにはリスクが高いので、作業用のユーザーを作ります。なんでも権限があるってのは割りと怖いので。

useradd ユーザー名
passwd ユーザー名
usermod -G wheel 1行目で作ったユーザー名

これでroot権限にもなれる作業用のユーザーが出来ました。

4.vimのインストール

別に絶対必要というわけでもないんですけど、いつも使う時はvimなのでこっちが使えたら分かりやすいかなー?という安易な発想です。

yum -y install vim-enhanced

5.SSHのポート番号を変更

さくらVPSの場合デフォルトが22になっていて、このままで使っていると容易に番号がバレてしまいセキュアじゃないのでポート番号を変更します。変更したら忘れないようにしておきましょう。

su
vim /etc/ssh/sshd_config

sshd_configをエディタで開いて必要箇所を修正したりします。”/Port”のコマンドで検索するのが早いので、Portの場所を特定したらINSERTモードに切り替えてPort番号を変更します。利用できるポートは開いているポートにする必要があります。今回は解説のために安易に10022を使うとして記述しておきます。

#Port 22
Port 10022

上記のように#を付けてコメントしておけば、最初に何が使われていたのか後で直ぐわかります。コメントなのでその行は処理されません

パスワード認証から公開鍵認証(RSA認証)に切り替える

よりセキュアにする為に、IDとパスワードを入力する方法のログイン方法から、公開鍵認証という手段に変更します。

パスワード認証と公開鍵認証の違い
パスワード認証と公開鍵認証の違い

ssh-keygenを実行して行う手段もあるんですが、僕はWinSCPとそれに付属するPuTTYgenを利用して認証鍵を作成しました。
WinSCP

上記ファイルをダウンロード及びインストールしたらスタートメニューから「WinSCP」→「鍵関連ツール」→「PuTTYgen」を選択しPuTTYgenを起動します。

PuTTYgen
上記より
1.SSH-2 RSAを選択(デフォルト値)
2.「Number of bits in a generated key」欄に 2048 と入力 (デフォルトは1024。数字の高いほうが強度が高くなります。)
3.Generateボタンをクリック

PuTTYgen
するとこの画面に切り替わり鍵の生成が始まります。何もしないと進みませんので、 “Please generate some randomness by moving the mouse over the blank area.”と有るようにプログレスバーの下あたりでマウスをグリグリ動かします。

PuTTYgen
プログレスバーが一杯になるとこの画面に切り替わるので「Save private key」をクリックして秘密鍵ファイルを「id_rsa」という名前を付けて保存します。拡張子は.ppkになります。

次に秘密鍵ファイルを保存したフォルダに id_rsa.pubという名前のテキストファイルを作成し、メモ帳などで開きます。そしてPuTTYgen の「Public key for pasting into OpenSSH authorized_keys2 file」欄に表示されているテキストをコピーして貼り付けて保存します。必ず1行になるはずなので、改行等があれば削除しましょう。

そして更にTeraTerm用の秘密鍵ファイルを作成します。PuTTYgen のメインメニューから「Conversions」→ 「Export OpenSSH key」を選択してid_rsa(拡張子なし)で保存します。以上の作業より下記のファイルが完成します。

ファイル名 種類 概要
id_rsa.pub 公開鍵 RSA 公開鍵。サーバー側に置く。
id_rsa.ppk 秘密鍵 RSA 秘密鍵。WinSCP や PuTTYgen で利用。
id_rsa 秘密鍵 OpenSSH 用 RSA 秘密鍵。TeraTerm などで利用。

もし公開鍵やOpenSSH用の秘密鍵を保存し忘れても、PuTTYgenで.ppkファイルを開けば鍵を生成した状態に戻れるので安心です。

ここまで出来たら再度SSHに戻り、RSA認証したいユーザー(Rootではない)でログインします。ログインしたらユーザーのHOME直下に「.ssh」というフォルダを作成します。パーミッションは700に。

cd $HOME
mkdir .ssh
chmod 700 .ssh

今度はWinSCPからも同じユーザーでログインし、今作成した.sshディレクトリに公開鍵のid_rsa.pubをアップロード。アップロードしたらファイル名を「authorized_keys」にリネームし、パーミッションを600に設定します。

mv id_rsa.pub authorized_keys
chmod 600 authorized_keys

RSA認証によるログインが可能になっているので、公開認証鍵のみでログイン出来るように設定を変更します。

PermitRootLogin no //rootによるログインを禁止
PasswordAuthentication no //パスワードによるログインを禁止。

「PasswordAuthentication no」を設定すると認証鍵以外でのログインが出来なくなります。この設定を書く前に、実際に認証鍵でログイン出来るかしっかり試してください。ファイルの設定が書き込み終わったら保存して、設定を反映させます。

/etc/init.d/sshd restart

7.CentOSの環境を日本語化

一応日本語化を

sudo vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

8.システムの更新

システムもバージョンが上がっていくので、定期的にシステムの更新を行います。ひとまずここまで来たら一度アップデートを行います。

sudo yum update

9.まとめ

ここまででひとまずサーバーの初期設定は完了です。あとはよりセキュアにするためにファイアーウォールを入れたり、WebサーバーのソフトであるApacheやnginxを入れたりするわけですが、ひとまず今回はここまでで。

参考文献

<?ul>

お役に立てたらお願いします🙇

Kyashで送金する

Ad



Share