[ubuntu-jp:5415] Re: Windows 10からUbuntu 14.04 LTSへのリモートログイン

Naoki MATSUMOTO nekomatu @ gmail.com
2016年 2月 25日 (木) 02:46:56 UTC


こんにちは、松本です。

2016年2月25日 0:10 Hiroshi Kubo <hkubo @ ba2.so-net.ne.jp>:
> From: Hiroshi Kubo <hkubo @ ba2.so-net.ne.jp>
> Date: Wed, 24 Feb 2016 16:00:29 +0900 (JST)
> port=-1にままではなぜ,リモートログインできないのか,お分かりの
> 方,解説いただければ幸いです。よろしくおねがいします。

-1 を指定するとRDPのWell-knownポートが使われる気がしそうなのですが、そうではないようなのです。
/etc/services を見たのですが、RDPのデフォルトポートというのは存在しないようです。

xrdpのソースコード[1] をサラッと見た限りではgetaddrinfo(3)の第二引数serviceに値を渡しているだけでした。

では、−1を指定するとどうなるのか?ということですが、そこまで深追いできていません。[2]
久保さんが参考にされた http://askubuntu.com/a/360835 には
> The important line is port=-1, this makes xrdp always look for a free port to connect.
と書かれているので、空いてるポートを適当に使うという挙動になりそうです。
もしよければ、−1を指定してサービスを起動した状態で、 `netstat --tcp --udp --listen`
とかで使われているポートを確認してみて下さい。
また、サービスをリスタートさせた時、使われているポートが変化するか?などをみてみると良いかもしれません。


中途半端な調査ですが、参考になればと思います。
以上です。

[1] git clone git://github.com/FreeRDP/xrdp.git
[2] git clone git://sourceware.org/git/glibc.git
glibc/sysdeps/posix/getaddrinfo.c
      gaih_service.name = service;
      gaih_service.num = strtoul (gaih_service.name, &c, 10);
      pservice = &gaih_service;
      last_i = gaih_inet (name, pservice, hints, end, &naddrs);
      r = __getservbyname_r (servicename, tp->name, &ts, tmpbuf, tmpbuflen, &s);
getservbyname_r(3)が呼ばれることまで見て引き上げ。


ubuntu-jp メーリングリストの案内