VirtualBox에 두 개의 CentOS 가상 머신이 있습니다. CentOS-1이 내 웹 애플리케이션 코드를 보유하고 있다고 가정합니다. CentOS2가 뒤따릅니다. 이 두 서버 사이에는 브리지 및 호스트 전용이라는 두 개의 네트워크 연결이 있습니다.
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 웹 페이지에서 다음과 같이 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를 통해 연결할 수 있으며 원하는 것은 무엇이든 할 수 있습니다. :)