質問: スマホからssh接続したいのですが、ネットで調べた自分のグローバルIPアドレスを直接指定して秘密鍵を指定しても、タイムアウトしています。聞きたいことはどうしてタイムアウトするか?です。 sshdサービスはlinuxのpcで働いていて、opensshプロトコルをufwで許可しています。 やりたいことはlinuxpcをサーバーにして、クライアントのスマホからssh接続をすることです。 termuxというアプリを使用しています。 そこでは特にファイアウォールやhostsファイル、デバイスドライバの接続先の指定、dnsサーバーの設定などはしていません。 サーバー側もnslookupでルーターのdnsサーバーは正常に動作していることが分かりました。つまり、dnsサーバーは正常に名前解決をして、グローバルIPアドレスにスマホからアクセス可能になれば良いということです。 1 互いにopensshのプロトコルを持っていて、2 適切なfirewall設定がなされていて、3 ipアドレスもスマホのブラウザでアクセス可能ならば、インターネット経由でssh接続が可能な最低限の条件を満たしていると思います。 ですが、3のタイムアウトが恐らくは根本の原因で、しかもnslookupでスマホからcpのipを調べたら一瞬で名前解決し、逆も同様だった為WANが正常だとするとlinuxサーバー側のsshdサービスの何れかの段階でのセキュリティか、もしくはスマホ側のssh接続における何れかの段階でのセキュリティに問題があると思うのですがどうでしょう?一般的にこの状況ではtimeoutはどんな設定が原因で起こると思いますか?
回答: LinuxのPCがルータ無しでインターネットにつながっているケース以外では、ルータの設定が必要になります。(ポートマッピングやポートフォワーディングと呼ばれる設定。メーカーによって呼び方は変わります。) また、プロバイダ(ケーブルテレビやwimax等)によってはルータ(や終端装置)にグローバルIPが降られていないケースもあります(この場合、IP確認を行うとプロバイダのグローバルIPが表示されますが、自宅のネットワークまでSSH接続することはできません。) まずは、`自宅サーバ 公開方法`等で調べてみて、 * プロバイダがグローバルIPを払い出しているかの確認 * ルータのポートフォワーディングの設定を行う の2点を行ってみてください。 その後、 * スマホを自宅のlanに接続して、プライベートIPでsshで接続できるか確認 * スマホを自宅のlanから切断して、モバイルネットワーク経由でssh接続できるか確認 と言う感じで一つづつ進めていきます。