- 環境
- 接続元 : Windows10 64bit バージョン1909
- 接続先 : Dockerで作ったコンテナ
- ホスト : CentOS Linux release 7.6.1810 (Core)
- コンテナ : CentOS Linux release 7.6.1810 (Core)
事象 : リモートデスクトップ接続しようとしたらダイアログが表示されてログインできない
ダイアログのメッセージ
connectiong to sesman ip 127.0.0.1 port 3350
sesman connect ok
sending login info to session manager, please wait...
login failed for display 0
原因1 : 指定するポートが誤っていたから
コンテナには2つポートを開けていて8082->8080
がリモートデスクトップ接続用だった。
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
123456789012 host-ponsuke "/usr/sbin/init" 9 months ago Up 14 minutes 0.0.0.0:8082->8080/tcp, 0.0.0.0:8083->8081/tcp ponsuke
そこで、リモートデスクトップ接続時にホストのIPアドレス:8080
を指定していた・・・コンテナ設定時に描いた絵を見て気が付いた・・・ポートがホストとコンテナで逆だ・・・
対応方法 : 正しいポートを指定してリモートデスクトップ接続する
-
ホストのIPアドレス:ホストのリモートデスクトップ用ポート
(今回の場合ホストのIPアドレス:8082
)でリモートデスクトップ接続する - 接続できる
原因2 : その他
- パスワードが誤っているときにもこのメッセージが出る
- 正しいパスワードを忘れてしまった場合は、コマンドを使って
root
でコンテナにログインしてパスワードを変更してあげる
- 正しいパスワードを忘れてしまった場合は、コマンドを使って
-
/var/log/xrdp.log
や/var/log/xrdp-sesman.log
などのログを見てみる - よくわからないときはとりあえずコンテナを再起動してみる