Linux初心者がさくらVPSでJenkinsを一から構築してみました(前編CentOS設定編)
放置気味だったさくらVPSで一からJenkinsを構築してみました。 普段仕事ではWindowsServerしか触っていないのでLinuxに苦労しました。
ローカル環境
MacOSX Moutain Lion
インストール前環境
OS:CentOS6.4 (Release final)
初期状態
初期設定
まずはローカルからターミナルでログイン
ssh root@[IPアドレス]
ユーザーを作成します
useradd [任意のユーザー名] -G wheel #wheelというグループでユーザを作成 passwd [任意のユーザー名] #パスワードを設定
yumを最新のものにアップデートをします
sudo yum update
通常Root権限を持つユーザは無効にして一般ユーザを使用する事が、セキュリティ的には一般的かと思います。
そのためUnix系OSでは権限が必要な操作をするために一般ユーザに一時的にRoot権限を与えるsudoというコマンドが存在します。
そのsudo
を適切に使用できるように設定します。
sudo vim /etc/pam.d/su
で設定ファイルを開きます。
この際vimというCLIで使用できるテキストエディタで開きます。
vimは複数のモードを使い分けてテキストを編集するという独特のものとなります。
操作方法は下記を参照させて頂きました。
http://matome.naver.jp/odai/2133561662251169101
下記の先頭のコメントアウト(#)を外します。
# auth required pam_wheel.so use_uid
そして次はsudo vim /etc/login.defs
を開き末尾に下記を追加して保存します。
SU_WHEEL_ONLY yes
さらにsudo visudo
を開き下記の行のコメントアウト(#)を外します。
# %wheel ALL=(ALL) ALL
sudo vim /etc/ssh/sshd_config
を開きます。
ここではセキュリティのためにsshで使用するポートの変更とRoot権限をログインでの禁止を行います。
ポート番号は0から65535まで使用できますが、他のサービスと被らないように10000以上にします。
下記の部分を修正します。
Port [任意のポート番号] #sshで使用するポートの設定 既定は22 PermitRootLogin no #Root権限でのログイン禁止 PasswordAuthentication no #パスワードによるログイン禁止
サーバに~/.ssh/
フォルダを作成します。
su - [ユーザ名] #指定したユーザを一時的に使用 mkdir ~/.ssh/ #フォルダ作成 chmod 700 ~/.ssh/ #フォルダ権限変更
ここでサーバからログアウトしてローカルで鍵を作成します。
cd ~/.ssh mkdir [任意のフォルダ名] #フォルダ名はVPS名など cd [任意のフォルダ名] ssh-keygen -t rsa -C "メールアドレス" #鍵生成
ssh-keygen
を実行するとkeyファイル名を設定するように求められます。id_rsa.[VPS名]などにすると管理がしやすくなります。
また次にパスフレーズを2回求められるので入力します。パスフレーズは忘れないようにしてください。これで下記のファイルが生成されます。
id_rsa.[VSP名] #秘密鍵 id_rsa.[VSP名].pub #公開鍵
セキュリティのために秘密鍵の権限を設定します。
chmod 600 id_rsa.[VPS名]
次にサーバにファイルを送ります。
scp id_rsa.[VPS名].pub root@[IPアドレス]:/home/[ユーザ名]/.ssh/authorized_keys
完了したらsshでサーバにログインしてautorized_keysの所有者と権限を変更します。
ssh root@[IPアドレス] -p [ssh用ポート] su - [ユーザ名] sudo chown [ユーザ名]:[ユーザ名] /~/.ssh/autorized_keys chmod 600 /home/[ユーザ名]/.ssh/authorized_keys exit #Rootユーザに戻す /etc/init.d/sshd restart #sshを再起動 exit
以降rootでのログインは不可能になります。
次にローカルでvim ~/.ssh/config
を開き新規でconfigファイルを作成します。内容は下記になります。
Host [VPS名] HostName [IPアドレス] Port [SSH用ポート] User [ユーザ名] identityfile ~/.ssh/[VPS名]/id_rsa.[VPS名]
これでローカルからVPS名でログイン可能になります。
長くなって来たので前編はここまで。
ここまでは下記を参考にさせて頂きました。 http://morizyun.github.io/blog/sakura-vps-centos63-ssh-setup/