SSH を使用して、ルーター経由で 11.10 を実行している新しいラップトップを 8.04 を実行している古いラップトップにリンクしようとしています。
この質問は、ubuntuforums で尋ねられ、回答されています。
http://ubuntuforums.org/showthread.php?t=1648965
ここでより明確な答えが得られれば役立つと思いました。
注: まず、接続しようとしているラップトップに openssh-server をインストールし、firestarter を使用してファイアウォールの SSH ポートを開く必要がありました。
答え1
SSH サーバーへのアクセスはさまざまな方法で制限できます。
私の考えでは、最も重要なのは、SSH キーを使用し、パスワード認証を無効にすることです。
詳細については以下のウィキページをご覧ください
- https://help.ubuntu.com/community/SSH/OpenSSH/キー
- https://help.ubuntu.com/community/SSH/OpenSSH/Configuring#Disable_Password_Authentication
特定のサブネットへのアクセスを制限するには、いくつかの方法があります。ここでは、SSH サーバーがサブネット 192.168.0.0/16 にあり、IP アドレスが 192.168.0.10 であると仮定します。それに応じて調整してください。
ルーター
防御策の 1 つはルーターを使用することです。必ず UPnP を無効にし、ポート転送を許可しないようにしてください。
SSH設定
ではいくつかのオプションを設定できます/etc/ssh/sshd_config
。1つはリスンアドレスです。サブネットにリスンアドレスを設定すると、プライベートIPアドレスインターネット経由でルーティングできません。
ListenAddress 192.168.0.10
AllowUsersを使用することもできます
AllowUsers [email protected]/16
多少関連しますが、ポートを変更することもできます
Port 1234
見る:http://manpages.ubuntu.com/manpages/precise/man5/sshd_config.5.html
TCPラッパー
フォーラムの投稿で説明されているように、TCP Wrapperを使用できます。TCP Wrapperは2つのファイルを使用し/etc/hosts.allow
、/etc/hosts.deny
/etc/hosts.allow
サブネットを編集して追加する
sshd : 192.168.0.
編集し/etc/hosts.deny
てすべて拒否
ALL : ALL
参照:http://ubuntu-tutorials.com/2007/09/02/network-security-with-tcpwrappers-hostsallow-and-hostsdeny/
ファイアウォール
最後に、サーバーをファイアウォールで保護します。iptables、ufw、または gufw を使用できます。
iptables
sudo iptables -I INPUT -p tcp --dport 22 -s 192.168.0.0/16 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
ufw
sudo ufw allow from 192.168.0.0/16 to any port 22
ufw
グラフィカルインターフェースを持つ: gufw
答え2
2020年更新
この質問以降、より単純なアプローチがMatch
、OpenSSH 6.5/6.5p1 (2014):
の中にsshd設定ファイル/etc/ssh/sshd_config
(デビアンおよび派生OSウブントゥ)
# Disable all auth by default
PasswordAuthentication no
PubkeyAuthentication no
[.. then, at the end of the file ..]
# Allow auth from local network
Match Address 192.168.1.*
PubkeyAuthentication yes
# if you want, you can even restrict to a specified user
AllowUsers stephan
ヒント: カスタム ルールを/etc/ssh/sshd_config.d
フォルダー内のファイルに配置することをお勧めします。通常は/etc/ssh/sshd_config.d/local_network_only.conf
、こうすることで、ssh-server パッケージの新しいバージョンにアップグレードして sshd 構成ファイルが変更されたときに競合が発生するのを防ぎます。
man sshd_config
詳細については
答え3
ssh(セキュア シェル)は、データを安全にアクセスして転送するために使用されます(RSA_KEYS ペアを使用)。ssh を使用してデータにアクセスするには、2 つの方法があります。1. コマンドライン 2. ファイル ブラウザーを使用する
コマンドライン: これには何もインストールする必要はありません。最初のタスクは、他のコンピューターにログインすることです。
ssh other_computer_username@other_computer_ip
このコマンドは、他のコンピュータのパスワード(特定のユーザー名用)を要求します。これで、他のコンピュータのシェルにログインできました。このターミナルは、コンピュータのシェルターミナルのようなものだと考えてください。シェルを使用して、自分のコンピュータでできることはすべて、他のコンピュータでも実行できます。
ファイルブラウザ: openssh-serverをインストールする必要があります
sudo apt-get install openssh-server
ログインするには、ファイル->connectToServerに移動します