動的IPアドレスからログインするときにOpenSSHDをどのように制限できますか?

動的IPアドレスからログインするときにOpenSSHDをどのように制限できますか?

したがって、固定IPアドレスを使用するUbuntuシステムにOpenSSHDがあります。

私のラップトップには動的IPアドレスがあります。 ->「本当に動的という意味です」したがって、範囲を指定できません...

SSHDを自分のラップトップにのみ表示するように制限する必要があります(したがって、他の人はsshdがポートでリッスンしていることを知りません。私だけが知ることができます)。

私はKnockd(実装はとても簡単です)を考えています。解決策はありますか?

答え1

正直なところ、私はキーベースの認証を設定し、パスワード認証を無効にし、人々がドアノブを叩くのを心配しませんでした。秘密にすればすべて大丈夫でしょう。この質問はかなり頻繁に発生しますが、多くの場合、複雑なログファイルに関する懸念が原因で発生します。迷惑でもありますが、セキュリティ戦略が効果があるというシグナルでもあります。

もしあなたが本当に必要sshdがラップトップにのみ表示される場合は、sshdとサーバーの間にOpenVPNを設定してから、物理インターフェイスの代わりにtun / tapインターフェイスにバインドするようにsshdを設定できます。しかし、それはすべてのトラフィックを2回暗号化します。これは私にとってエントロピーの無駄のようです。

答え2

セキュアSSHログインを達成するには、次のようないくつかの方法をお勧めします。

  1. 使用ホスト拒否不正アクセス試行処理
  2. 公開鍵認証を使用します。
  3. sshd_configで古いまたは弱いプロトコルを無効にします。
  4. 可能であれば、デフォルトのSSHポートを22から9876などの「エキゾチック」ポートに変更してください。

ここがいいなら記事OpenSSHDサーバーのセキュリティを強化する方法について説明します。

君も来てみてここ

答え3

no-ip、duckdnsなどのホストタイプを作成し、次のシェルスクリプトを使用できます。

#!/bin/bash

DYN_IP="myhost.dynamic.example.com"
CMD=$(ping -c1 $DYN_IP | head -1 | awk -F' ' '{ print $3}' | sed 's/(\|)//g')
FILE="./last_ip.txt"
NEW_IP=$CMD

if [ -e $FILE ]; then
        OLD_IP=$(cat $FILE)
else
        OLD_IP="0"
fi

if [ $OLD_IP != $NEW_IP ]; then
        echo $NEW_IP > last_ip.txt
        sed -i "/^sshd: $OLD_IP/d" /etc/hosts.allow
        echo "sshd: $NEW_IP" >> /etc/hosts.allow
        echo "Allow ip changed to $NEW_IP"
fi

5分ごとに実行するようにcrontabを追加します。

 */5 * * * * root /pathtoyou/script

この質問では、ユーザーPRIXのスコアは次のとおりです。https://serverfault.com/questions/187231/accessing-ip-restricted-server-from-dynamic-ip

答え4

no-ip.orgサービスを利用できます。たとえば、無料でアドレスを登録し、my-laptop.noip.orgIPが変更されるたびに新しいIPアドレスを指すようにアドレスを更新するソフトウェアをラップトップにダウンロードします。

SSH経由で簡単に接続できますmy-laptop.noip.org

実際にこのようなサービスを運営しています。 :D

関連情報