以降、自分の環境はMac OS Xなのでターミナル経由での接続とする
前提として、CentOSを使用する。
0.ホスト名を変更する
/etc/hosts
/etc/sysconfig/network
を変更する
0.sudoを行えるようにする。
まずsudoがインストールされているか確認する
$yum list installed | grep sudo
インストールされていない場合 suになり、インストール
$su -
#yum install sudo -y
/etc/sudoersがあるか確認
#ls /etc | grep sudoers
/etc/sudoersにユーザを追加するが、これはsuでviで開いても編集できない。
visudoコマンドで/etc/sudoersが編集可能なので、このコマンドで行うこと
#visudo
viの中で%wheel で検索 (コマンド入力モードで/%wheelと入力する)
その近辺にsudoコマンドを許可したいユーザを列挙していく。
ユーザ名 ALL=(ALL) ALL
もしグループで登録したいときは
%グループ名 ALL=(ALL) ALL
とする。
ちなみにALL=(ALL) ALLは、実行可能なコマンドなどの詳細設定だが、
詳細は、visudoのマニュアルを参照のこと。
これでCentOSでもsudoが使えるようになるので確認する。
#exit
※試しに、httpデーモンを再起動してみる。
$sudo /etc/rc.d/init.d/httpd restart
パスワードの入力が促され、正しく認証できたら実行できるはず。
0.文字環境を日本語化する
さくらVPSのデフォルトOSであるCentOSは、英語環境らしい。
なので、のちのち日本語が含まれたファイルをVPSコントロールパネルの
コンソール以外のSSH関係のソフトのviで開くと、文字化けが起きてしまう。
だから以下設定をして日本語環境にする
#cp /etc/sysconfig/i18n /etc/sysconfig/i18n_org
#vi /etc/sysconfig/i18n
#LANG="C"
LANG="ja_JP.UTF-8"
いったんSSH終了する
#exit
#printenv | grep LANG
LANG=ja_JP.UTF8
と表示されるOK
1.サーバへSSH接続する
(client)$ssh root@サーバIP
2.ユーザを作成する
(Server)#adduser hogehoge
(Server)#passwd hogehoge
Webサイトのドキュメントルートアクセス用に
ユーザにwww グループにwwwを追加する
wwwグループ追加
#groupadd www
グループにパスワード付与
#gpasswd www
wwwユーザ追加
#useradd www
wwwユーザにパスワード付与
#passwd www
メインのユーザをwwwグループに追加
このとき-Gとすること -gとするとプライマリグループを変更してしまうので注意
#usermod -G www ユーザ名
最後にちゃんと登録されているか確認
cat /etc/group | grep www
※HTTPの設定のUser Groupをwww wwwに後で変更すること
また、ドキュメントルートは、755 もしくは 644にすること
3. sshd設定を変更する
(Server)#vi /etc/ssh/sshd_config
(1) #Port 22を変更する
Port 任意のポート番号
(2)SSH接続でrootに直接ログインすることを禁止の編集
PermitRootLogin no
4. SSHデーモン再起動
(server)$/etc/init.d/sshd restart
5.クライアント側で鍵ペアを作成する
(client)$ssh-keygen
Enter File in which to save the key.... と聞かれるのでそのままENTER
Enter passphrase : 任意のパスワードを入力する
もう一度同じパスワードを入力する
6.~/.ssh/にid_rsaとid_ras.pubができていることを確認する
id_rsaが秘密かぎ
id_rsa.pubが公開鍵
7.公開鍵をさくらVPSにscp転送する
(client)$scp -P SSH設定のポート(デフォルトは22) .ssh/id_rsa.pub ユーザ名@サーバIP:~
8.サーバへ接続
(client) ssh ユーザ名@サーバIP -p ポート
(server) $mkdir .ssh
(server) $chmod 700 .ssh
(server) $mv id_rsa.pub .ssh/
(server) $cd .ssh
(server) $touch authorized_keys
(server) $cat id_rsa.pub >> authorized_keys
(server) $chmod 600 authorized_keys
(server) $cd .ssh
(server) $touch authorized_keys
(server) $cat id_rsa.pub >> authorized_keys
(server) $chmod 600 authorized_keys
※authorized_keysファイルを作成する
(公開鍵を書き込んでおくファイル sshdはこれを確認するので必ず必要。)
(公開鍵を書き込んでおくファイル sshdはこれを確認するので必ず必要。)
10.ssh接続認証設定を変更する
(Server)#vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
※%hは各ユーザのホームディレクトリ
11. sshを再起動
#/etc/init.d/sshd restart
12. いったんサーバからでる
#exit
13. クライアントからssh接続して接続できることを確認
ssh ユーザ@サーバIP -i .ssh/id_rsa -p 設定ポート番号
または
ssh ユーザ@サーバIP -p 設定ポート番号
<おまけ>
クライアントの.sshにconfigファイルを作成し
以下を書き込むとより簡単に接続できる。
複数のサーバをターミナルで管理する場合は、同じ記述を複数繰り返せばよい。
ただし、id_rsa id_rsa.pub は id_rsa.サーバ名 id_rsa.pub.サーバ名
とすること。
複数のサーバをターミナルで管理する場合は、同じ記述を複数繰り返せばよい。
ただし、id_rsa id_rsa.pub は id_rsa.サーバ名 id_rsa.pub.サーバ名
とすること。
ssh 設定サーバ名
Host 設定サーバ名
HostName サーバIP または ドメイン
User ユーザ名
Port 設定したポート
IdentityFile ~/.ssh/id_rsa.サーバ名1
Host 設定サーバ名
Host 設定サーバ名
HostName サーバIP または ドメイン
User ユーザ名
Port 設定したポート
IdentityFile ~/.ssh/id_rsa.サーバ名2
Host 設定サーバ名
HostName サーバIP または ドメイン
User ユーザ名
Port 設定したポート
IdentityFile ~/.ssh/id_rsa.サーバ名3
以上
0 件のコメント:
コメントを投稿