VirtualBoxには2つのCentOS仮想マシンがあります。 CentOS-1が私のWebアプリケーションコードを持っているとします。 CentOS2が続きます。これら2つのサーバーの間には、ブリッジとホストのみという2つのネットワーク接続があります。
CentOS-1 : for Bridged connection the ip is : 192.168.0.137
for Host-only connection the ip is : 192.168.1.137
CentOS-2 : for Bridged connection the ip is : 192.168.0.101
for Host-only connection the ip is : 192.168.1.101
私のPHP Webページで次のようにsshを試してみると、次のようになります.
exec('ssh -p 22 [email protected] 2>&1 ',$output);
動作しますが、ホストネットワークIPでのみSSHを試してみると、次のようになります.
exec('ssh -p 22 [email protected] 2>&1 ',$output);
私はこれを出力として取得します。
ssh: connect to host 192.168.1.101 port 22: No route to host
192.168.0.137の公開鍵を再生成して192.168.0.101にコピーしてみましたが、役に立ちませんでした。また、Apacheユーザーに許可を試みました。
CentOS-2では:
sudo -u apache ssh [email protected] "pwd"
sudo -u apache ssh [email protected] "pwd"
CentOS-1では:
sudo -u apache ssh [email protected] "pwd"
sudo -u apache ssh [email protected] "pwd"
どちらの方法も機能しません。私が逃したものはありますか?出力ifconfig -a
:
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 08:00:27:0B:56:0E
inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe0b:560e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5652 errors:0 dropped:0 overruns:0 frame:0
TX packets:4886 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:833395 (813.8 KiB) TX bytes:769122 (751.0 KiB)
eth1 Link encap:Ethernet HWaddr 08:00:27:FA:C6:32
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6315 errors:0 dropped:0 overruns:0 frame:0
TX packets:6315 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:878894 (858.2 KiB) TX bytes:878894 (858.2 KiB)
パス出力は次のとおりです。
$ sudo ifconfig eth1 inet 192.168.1.101 broadcast 192.168.1.255 netmask 255.255.255.0 up
[sudo] password for safaa:
[safaa@AMeS101 ~]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default mbox.kds.local 0.0.0.0 UG 0 0 0 eth0
答え1
答えは次のとおりです。
CentOS1の場合:
sudo ifconfig eth1 192.168.1.191 netmask 255.255.255.0 up
sudo touch /etc/sysconfig/network-scripts/ifcfg-eth1
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
IPADDR=192.168.1.191
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
それから:
sudo ifup eth1
CentOS1でSSH経由でサーバーに接続します。
sudo -u apache ssh [email protected]"pwd"
その後、Apacheは192.168.1.191でSSHを介して接続でき、必要なものは何でもできます。 :)