Visual Studio Codeや、Visual Studo 2015のリモートデバッグ記事は多いのですが...
基本は下記の公式説明で問題ないのですがハマった所がありました。
Linux 上の Python コードのリモート デバッグ
https://docs.microsoft.com/ja-jp/visualstudio/python/debugging-python-code-on-remote-linux-machines
その1)ptvsdのバージョンは「3.2.1」
Visual Studo 2017の場合、リモート側にインストールする「ptvsd」は「3.2.1」が必要となります。
通常にpipでインストールすれば最新が入ると思いますが、少し古い記事だと「3.0.0」や「2.2.0」を入れているため真似するとハマります。
※その3)の通り version 15.8より ptvsdのバージョンは4.0となりました。4.0での動作は見ておりません
その2)【version 15.8より前】「試験的デバッガーを使用」はOFFに
これは関係ないかもしれませんが私が行った事として、「デバッグ」-「オプション」メニューから、「Python」-「試験的」の中にある「試験的デバッガーを使用」はOFFにしましょう。
変更後はVisual Studioの再起動が必要となります。
その3)【version 15.8より】「レガシデバッガーを使用」はONに
https://blogs.msdn.microsoft.com/pythonengineering/2018/08/14/python-in-visual-studio-2017-version-15-8/
Visual Studio 2017 Ver15.8より使用可能なptvsdがバージョン4.0となりました。
従来通り「3.2.1」で利用するためには、「デバッグ」-「オプション」メニューから、「Python」-「デバッグ」の中にある「レガシ デバッガーを使用」をONにしましょう。
2018/7/4追記
Visual Studio Codeでリモートデバッグする場合には、ptvsdを「3.0.0」とする必要があります。
「3.2.1」では動作いたしません。
2018/8/21追記
Visual Studio 2017 version 15.8 より ptvsdのサポートバージョンが 4.0に代わりました。
「3.2.1」で使用するための記載を追記
2019/1/9追記
Visual Studio 2019 でも 「レガシデバッガーを使用」をONにする事により
ptvsd「3.2.1」を利用したデバッグを出来る事を確認しております。