ssh root@"ip of lxc container" не работает
Как я могу войти в контейнер LXC, используя SSH? Потому что я следую многим инструкциям по этому аргументу, но не могу войти в контейнер.
[root@T410 andrea]# ssh root@192.168.122.215 -vvvv
OpenSSH_7.1p1, OpenSSL 1.0.2d-fips 9 Jul 2015
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 56: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.122.215 [192.168.122.215] port 22.
debug1: connect to address 192.168.122.215 port 22: Connection refused
ssh: connect to host 192.168.122.215 port 22: Connection refused
Я не понимаю, почему я не могу войти в контейнер.
заранее спасибо
2 ответа
Если вы используете LXC с мостовой сетью по умолчанию, вам нужно определить правило NAT iptables, согласно которому трафик с хоста будет перенаправлен в контейнер.
Вы можете получить IP-адрес определенного контейнера на хосте с помощью:
lxc-info -n [containername] -i
Теперь выполните это с привилегиями root на хосте:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j DNAT --to [container ip address]:22
Теперь вы можете получить доступ к вашему SSH-серверу внутри контейнера с помощью:
ssh root@[host ip address] -p 2222
Быть осторожен! Это не работает, если сервер SSH внутри контейнера не разрешает вход в систему root через SSH!
Повеселись!
Для аутентификации по ключу владелец /root/.ssh/
внутри контейнера должен быть корень.
Если нет, то выполните:
lxc exec mail01 -- chown -R root:root /root/.ssh