1

Как я могу войти в контейнер 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 ответа2

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!

Повеселись!

0

Для аутентификации по ключу владелец для /root/.ssh/ внутри контейнера должен быть пользователем root.

Если нет, то выполните:

lxc exec mail01 -- chown -R root:root /root/.ssh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .