CentOSサーバ構築 SSH接続設定

VirtualBoxのLinuxコンソールは日本語も表示できませんし,スクロールもできません.何かと使いづらいので,Mac上のターミナルからSSH接続して利用することにします.

そこで問題なのが,現在は,NATのネットワークアダプタを利用しているので,ホストマシンであるMacから,仮想マシン(ゲストマシン)にアクセスすることができません.

そこで,VirtualBoxの機能として,ホストマシンと仮想マシンのみ接続できる「ホストオンリーネットワーク(vboxnet0)」を構築し,仮想マシンに「ホストオンリーネットワークアダプタ」を追加し,ネットワークの設定を行います.

01. まずは,ホストオンリーネットワーク「vboxnet0」の追加を行います.

 ・VirtualBoxメニューバーの「VirtualBox」→「環境設定
 ・「ネットワーク」をクリック
 ・ホストオンリーネットワーク追加のボタン「」をクリック,「vboxnet0」の追加

 ・作成された「vboxnet0」を選択して,編集のボタン(ドライバみたいなアイコン)をクリック

 ・「DHCPサーバー」をクリック
 ・「サーバーを有効化」→チェックを外す(即ち,DHCPサーバを無効化する)

このホストオンリーネットワークは「192.168.56.0」のネットワークで,ネットマスクが「255.255.255.0」であるので,仮想マシンのIPアドレスは「192.168.56.XXX」になります.

SSH接続するので,IPアドレスは,DHCPによる動的割り当てではなく,静的(static)に割り当てます.

02. 続いて,仮想マシンの設定でネットワークアダプタをもう1つ追加します.

 ・仮想マシンの設定画面→「ネットワーク
 ・「アダプタ2」を選択
 ・「ネットワークアダプタを有効化」をON
 ・「割り当て」→「ホストオンリーアダプタ
 ・MACアドレスを確認しておきましょう.
  (後で,Linux上で設定するときに,このMACアドレスが必要となります)

03. Linuxを起動して,イーサネットインターフェース「eth1」のセット
  eth1側は固定IPアドレス(Static IP Address)で割り当てます.

# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-eth1
# vi ifcfg-eth1

[/etc/sysconfig/network-scripts/ifcfg-eth1 の内容]

DEVICE="eth1"
HWADDR="08:00:27:XX:XX:XX" ← MACアドレスは各自確認
NM_CONTROLLED="yes"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.56.102 ← IPアドレス(4オクテット目) 101〜下2桁は各自の番号
NETMASK=255.255.255.0

04. ネットワークの設定を有効にするために,ネットワークのサービスを再起動します.

# cd
# /etc/init.d/network restart

05. SSHでリモート接続(ホストマシンからの接続)するために,一般ユーザアカウントを作成しておきます.
 ・ユーザ名: admin
 ・パスワード: admin
 ・所属グループ: users(GID: 100)

現在のユーザアカウント情報の確認

# cat /etc/passwd

現在は「admin」という名前のユーザは登録されていません.

現在のグループ情報の確認

# cat /etc/group

「users」というグループがあるはずですので,そのグループID(GID)が「100」であることを確認します.

ユーザアカウント「admin」の作成

# useradd -c "Admin User" -g 100 admin

パスワードの設定

# passwd admin

※パスワードは適当に決めます.「admin」でも良いです.

確認

# cat /etc/passwd

[/etc/passwd の内容(抜粋)]

:
admin:x:500:100:Admin User:/home/admin:/bin/bash

06. macのターミナルからSSH接続してみる.

$ ssh [email protected]

SSH接続が遅い(パスワード認証までが遅い)ので,次のようにSSHdの設定ファイルを修正します.

07. 一般ユーザ「admin」でログインしているので,suコマンドでrootになります.

$ su -
パスワード: 

※パスワードはrootのパスワードを入力します.

08. SSHdの設定ファイル「/etc/ssh/sshd_config」を書き換えます.

# vi /etc/ssh/sshd_config

[/etc/ssh/sshd_config の内容(抜粋)]

  :
UseDNS no  ←「yes」を「no」に変更(コメントアウトしない)
  :
GSSAPIAuthentication no  ←「yes」を「no」に変更
  :

【参考】CentOS 6.2を最小構成でインストール(CentOS-6.2-i386-minimal.iso使用) – Symfoware

09. SSHd(SSHのサービス)を再起動します.

# /etc/init.d/sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]

10. ログアウトして,再度SSHでログインしてみます.

# exit ←rootからadminに戻ります.
logout
$ exit ←仮想マシンからログアウトします.
logout
Connection to 192.168.56.199 closed.

$ ssh [email protected] ←再度,仮想マシンにログインします.
[email protected]'s password: 

※今度は,ログインの際のパスワード要求が早くなったと思います.

それでは,suコマンドを入力していちいちrootになるのが面倒なので,sudoコマンドを有効にします.

sudoコマンドを利用すると,「$ sudo vi /etc/hosts」のように,一般ユーザであっても,コマンドの頭に「sudo」を付けるだけで,rootの権限でコマンド処理できるようになります.

11. まずは,とりあえず,suでrootになります.

$ su -
パスワード:

12. yumを利用して「sudo」パッケージをダウンロードして,インストールします.

# yum install sudo
Loaded plugins: fastestmirror, presto
:
================================================================================
 Package       Arch          Version                     Repository        Size
================================================================================
Installing:
 sudo          i686          1.7.4p5-9.el6_2             updates          415 k

Transaction Summary
================================================================================
Install       1 Package(s)

Total download size: 415 k
Installed size: 1.0 M
Is this ok [y/N]: y  ←「y」を入力
Downloading Packages:
:
Setting up and reading Presto delta metadata
Processing delta metadata
Package(s) data still to download: 415 k
sudo-1.7.4p5-9.el6_2.i686.rpm                            | 415 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : sudo-1.7.4p5-9.el6_2.i686                                    1/1 

Installed:
  sudo.i686 0:1.7.4p5-9.el6_2                                                   

Complete!
#

13. 一般ユーザ「admin」がsudoコマンドを利用できるように,sudoの設定ファイル「/etc/sudoers」を編集します.編集するには「visudo」を実行します.

# visudo

[/etc/sudoers の内容(抜粋)]

## Sudoers allows particular users to run various commands as
## the root user, without needing the root password.
:
## Allow root to run any commands anywhere 
root	ALL=(ALL) 	ALL
admin	ALL=(ALL) 	ALL  ← この行を追加
:
#includedir /etc/sudoers.d

これで,すぐにユーザadminは,sudoコマンドを使用することができます.

14. 一旦,rootからadminユーザに変更します.

# exit
logout
$

15. sudoコマンドを使用すれば,一般ユーザでもroot権限でコマンドが実行できます.

$ sudo vi /etc/hosts
[sudo] password for admin: 

フィードバック

コメントを残す