CodeGym /コース /Docker SELF /SSHのセットアップ、`ping`、`netstat`、`dig`を使ったネットワーク診断

SSHのセットアップ、`ping`、`netstat`、`dig`を使ったネットワーク診断

Docker SELF
レベル 4 , レッスン 5
使用可能

SSHのセットアップ、ネットワーク診断にpingnetstatdigを使う

1. SSHサーバーの設定

Linuxのネットワーク機能への実践的な没入へようこそ。今日は自分たちの知識を試す時が来た!SSHサーバーを設定してクライアントを使って接続したり、一番人気のあるコマンドでネットワークを診断したり、ポートのアクセス性を確認したりする方法を学びます。本物のネットワークエンジニアになった気分になりましょう!

SSH (Secure Shell) は、サーバーへの安全なリモートアクセスのためのツールです。サーバーに接続し、まるでその前に座っているかのように操作したり、ファイルを転送したりすることができます。

ステップ 1: SSHサーバーをインストールする

まず、SSHサーバーをインストールしましょう。UbuntuまたはDebianを使っている場合は、次のコマンドを実行してください:

sudo apt update
sudo apt install openssh-server -y

FedoraまたはCentOSの場合:

sudo yum install -y openssh-server

インストール後、SSHサービスが開始されていることを確認してください:

sudo systemctl start ssh
sudo systemctl enable ssh  # システム起動時にSSHが自動的に起動するように設定
sudo systemctl status ssh  # サービスの状態を確認

すべてが正しく動作していれば、サービスが動いていることがわかります。

ステップ 2: SSHサーバーの設定

SSHサーバーの設定ファイルは次のパスにあります:

sudo nano /etc/ssh/sshd_config

いくつかの便利なパラメーター:

  • PermitRootLogin norootユーザーでのログインを禁止。
  • PasswordAuthentication yes — パスワード認証を有効にする。
  • PubkeyAuthentication yes — 鍵認証を有効にする。

変更を加えた後、SSHを再起動してください:

sudo systemctl restart ssh

これでサーバーは接続を受け入れる準備が整いました。

ステップ 3: SSHを使ってサーバーに接続する

別のマシン(またはローカルマシンからlocalhost経由)から接続を試してください:

ssh your_username@your_server_ip

ローカルで作業している場合は、your_server_ip127.0.0.1 に置き換えてください。ユーザーのパスワードを入力すると、ターミナルからシステム内に入ることができます。


2. 鍵による認証の設定

パスワード認証は便利だけど、セキュリティの観点からはSSHキーを使う方がベストだよ。

ステップ1: SSHキーの生成

クライアントマシンで次のコマンドを実行してね:

ssh-keygen

キーの保存先を聞かれるよ。デフォルトでは~/.ssh/ディレクトリに保存される。Enterキーを押すだけでOK。

ステップ2: サーバーにキーをコピーする

公開鍵をサーバーにコピーしよう:

ssh-copy-id your_username@your_server_ip

これでパスワードを入力せずに接続できるようになるよ:

ssh your_username@your_server_ip

全部正しく設定できてたら、おめでとう!これでSSHサーバーが鍵認証で保護されたよ。


3. pingを使ったネットワーク診断

このコマンドにはすでに慣れてると思うよ。もう一回SSHサーバーへの接続性をサクッと確認しよう。

ping -c 4 your_server_ip

サーバーからの応答が見えるはずだよ。もし応答がなければ、サーバーが起動してるか、設定が正しいか確認してみて。


4. nslookupdigを使ったDNSの確認

サーバーにドメイン名がある場合、DNS経由でその動作を確認できます。例えば:

nslookupコマンド:

nslookup your-domain.com

ドメインに対応するIPアドレスが表示されるはずです。

digコマンド:

次に、完全な情報セットを取得してみましょう:

dig your-domain.com

多くのデータが表示されますが、私たちが興味を持つのはANSWER SECTIONの行で、そこにIPアドレスが記載されています。


5. netstatssを使ったネットワーク接続の分析

SSHサーバーはデフォルトでポート22をリッスンしています。これをnetstatで確認してみましょう:

sudo netstat -tln | grep 22

または、よりモダンなツールであるssを使って確認することもできます:

sudo ss -tln | grep 22

ポート22が"LISTEN"(接続待ち)状態であれば、サーバーはクライアントを受け入れる準備ができています。


6. ncを使用してポートの可用性を確認する

netcat (または nc) コマンドを使用してポートの可用性をテストできます。SSHサーバーに接続を試みてみましょう:

nc -zv your_server_ip 22

"Connection to your_server_ip 22 port [tcp/ssh] succeeded!" のようなメッセージが表示されるはずです。

接続に失敗した場合、ファイアウォールによってポートがブロックされているか、またはサーバーが指定されたポートでリスニングしていない可能性があります。


7. 実践課題

では、すべてを1つの実践シナリオにまとめてみよう。以下を実行する必要があります:

  1. 自分のマシンまたはWSL2などの仮想環境でSSHを有効にする。
  2. 鍵を生成し、鍵による認証を設定する(パスワードを禁止する)。
  3. SSHを使ってサーバーに接続する。
  4. pingを使ってサーバーの接続可能性を確認する。
  5. nslookupdigを使ってIPアドレスの解決を確認する(ドメイン名がある場合)。
  6. netstatssncを使ってサーバーのポート22を確認する。

これで、リモートアクセスを設定するだけでなく、ネットワークの問題を解決し、サーバーを診断し、プロのように保護する準備が整いました!Linuxの達人と呼ばれるまで、着実に進んでいますよ。

1
Опрос
Linuxでのネットワーク作業,  4 уровень,  5 лекция
недоступен
Linuxでのネットワーク作業
Linuxでのネットワーク作業
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION