明確にするために、これは尋ねられます:
私はubuntuを実行しているホームコンピューターを持っています。私はラップトップを持って行くカフェのような遠隔地からそこにsshできるようにしたいです。
これまでの私の試みは成功していません。ポート22を自宅のコンピューターのIPアドレスのポート22に転送するようにルーターを設定しました。 ssh @の場合、接続が拒否されます。
これを行う方法に関するオンラインの包括的なガイドが見つかりません。ルーターのポート転送だけでなく、ホームマシンでの静的IPアドレスなどの設定も必要になることは知っています。これを経て、静的IPの具体的な設定方法(いくつかの方法があるようです)、使用するIPアドレス、ルーターで転送するポート、ホームUbuntuで転送するポートの選択など、多くの質問があります。特定のポートを介してログインするときのマシン、sshの詳細など。
ローカルネットワークからサービスが機能することを確認したので、ルーターからポートを転送して目的のコンピューターに移動する準備ができました。
次のコマンドを実行して、コンピューターのローカルIPアドレスを取得することができます(コンピューターのIP)。出力はこの例に似ているため、これらの手順の例で使用します。
$ hostname -I
192.168.1.5
ルーターの構成のssh
ポート(ポート22)をサーバーのIPアドレスに転送します。
ステップ:
ssh
ポート22(tcpプロトコル)をコンピューターのローカルIPアドレスに転送します。これらの手順により、ネットワークの外部からルーターのパブリックIPを使用してコンピューターにログインできるようになりました。
ルーターのパブリックIPアドレスを指すようにDNSをセットアップすると、IPアドレスを覚える必要がなく、ログインに名前を便利に使用できます。
静的IPと動的IP
ほとんどのホームインターネットサービスプロバイダーは、静的IPアドレスに対して料金を請求します。そのため、動的IPを使用している可能性があります。動的IPは、時々変更される可能性があります。動的IPがあり、リモートから接続できない場合は、ルーターの正しいIPアドレスに接続しようとしていることを確認する必要があります。
静的IPは、ある種の良心の構成と意図がなければ変更されません。
ダイナミックIPがある場合は、ddnsサービス(ダイナミックドメインネームシステム)を使用して、ポイントする名前を自動的に変更する名前を割り当てることができます。変更されたときの新しい動的IP。ほとんどのルーターには、DDNSサービスを使用するように構成する機能があります。
トラブルシューティングの代替案
多くの場合、インターネットサービスプロバイダーは多くの一般的なポートをブロックします。多くの場合、ユーザーをハッカーやエクスプロイトから保護します。場合によっては、ユーザーが特定のサービスを実行できないようにし、帯域幅を最小限に抑えることがあります。
目的が何であれ、sshサーバーには代替ポートを使用する必要があります。これは、sshサーバーがリッスンするポートを追加または変更することで実行できます。これを行うには、/etc/ssh/sshd_config
ファイルを編集します。
Ubuntuは、リモートからバージョンアップグレードを実行するときの代替手段としてport 1022を使用します。これにより、接続が失われた場合に復旧セッションにログインする手段が提供されます。以下の例では、この同じポートを使用しました。現在別の用途に使用されていないポートに設定できます。
サーバーのリッスンポートを変更したら、ルーターのポート転送設定をsshサーバーがリッスンしているポートに変更してください。また、新しいポート構成をローカルでテストしてください。
からの変更:
#パッケージで生成された構成ファイル #詳細については、sshd_config(5)のマンページを参照してください #リスンするポート、IP、およびプロトコル ポート22 #これらのオプションを使用して、sshdがバインドするインターフェイス/プロトコルを制限します
への変更:
#パッケージで生成された構成ファイル #詳細については、sshd_config(5)のマンページを参照してください #リスンするポート、IP、およびプロトコル ポート22 ポート1022 #これらのオプションを使用して、sshdがバインドするインターフェイス/プロトコルを制限します
Sshdサービスの構成を変更した後、次を使用してsshdサービスを再起動します。
$ Sudo systemctl restart sshd
代替ポートにsshするコマンド:
(このコマンドは、ポートをテストおよびログインするために、サーバー自体を含む任意のコンピューターから実行できます。)
$ ssh -p 1022 [email protected]
外部からのポートの表示方法をテストするウェブサイト
このサイトに接続して設定を確認できます:
http://www.canyouseeme.org 。