logo

Linux で SSH を使用してリモート サーバーに接続するにはどうすればよいですか | sshコマンド

一般に SSH として知られる Secure Shell は、サーバーと呼ばれる遠く離れたコンピュータと通信するための非常に安全な方法のようなものです。これは、会話を安全かつプライベートに保つ、インターネット上の秘密のトンネルのようなものです。あなたが手紙を送るとき、それを公然と送るのではなく、あなたと送り先の人だけが開けることができる魔法の封筒に入れたと想像してください。これが、SSH がコンピュータと通信するために行うことです。

この記事は、初心者、つまりこの作業を始めたばかりの人が SSH の使用方法を理解できるようにするためにここにあります。特別なコマンド (秘密のハンドシェイクのようなものだと考えてください) を使用して、コンピューターを Linux の世界の遠く離れたサーバーに接続する手順を示します。このガイドを最後まで読むと、リモート サーバーを扱うときに SSH を使用してコンピュータの通信を安全かつ確実に行うことができるようになります。



SSHとは何ですか?

SSH (Secure Shell) は、安全でない可能性のあるネットワークを介した 2 つのシステム間の安全な通信を可能にするように設計された暗号化ネットワーク プロトコルを構成します。このプロトコルは、サーバーへのリモート アクセスやコンピュータ間のファイルの安全な送信に広く使用されています。本質的に、SSH は安全な導管として機能し、ネットワークがセキュリティ リスクを引き起こす可能性があるシナリオで通信用の機密チャネルを確立します。このテクノロジーは、サーバーを管理し、制御され保護された方法でコンピューター間で機密データを転送するための信頼性が高く安全な方法を求める専門家にとって役立ちます。 ssh は TCP/IP ポート 22 で実行されます。

Linux の SSH コマンドの構文

SSH コマンドを使用するための基本的な構文は次のとおりです。



ssh [username]@[hostname or IP address]>

ここ、

交換する[> username> ]>リモートサーバーのユーザー名と[> hostname or IP address> ]>サーバーのホスト名または IP アドレスで置き換えます。

シングルトンデザイン

前提条件

SSH の世界を詳しく調べる前に、特定の前提条件が満たされていることを確認することが重要です。スムーズな接続を保証するためのチェックリストは次のとおりです。



  1. リモートコンピュータのステータス:
    • リモート コンピュータの電源が入っており、ネットワーク接続がアクティブであることを確認してください。 SSH はネットワーク接続に依存しているため、リモート サーバーにアクセスできる必要があります。
  2. 識別情報:
    • リモート マシンの IP アドレスまたは名前を取得します。この情報は、SSH 接続を正しいサーバーに誘導するために重要です。
  3. アクセス許可:
    • リモート コンピューターにアクセスするために必要な権限があることを確認してください。これには通常、リモート サーバーの有効なユーザー名とパスワードが必要です。
  4. ファイアウォール設定:
    • ローカル マシンとリモート サーバーの両方のファイアウォール設定を確認してください。 SSH 接続は特定のポート (通常はポート 22) を使用するため、ファイアウォールが SSH トラフィックを許可していることを確認することが重要です。安全な通信を可能にするために調整が必要になる場合があります。

Linux に SSH コンポーネントをインストールする

一部のディストリビューションには SSH がプリインストールされていないため、Linux での SSH のセットアップが必要になる場合があります。広く使用されている SSH 実装である OpenSSH をインストールするか、Ubuntu 用の PuTTY クライアントのようなグラフィカル ユーザー インターフェイス (GUI) ソリューションを選択することで、この問題に対処できます。ここでは、クライアント側とサーバー側の両方で OpenSSH をインストールして構成するためのステップバイステップのガイドを示します。

クライアントとサーバーの両方にインストールする

Debian/Ubuntu ベースのシステムの場合は、ターミナルを開いて次を実行します。

sudo apt install openssh-client openssh-server>

CentOS や Fedora などの Red Hat ベースのシステムの場合は、次のいずれかのコマンドを使用します。

sudo dnf install openssh-clients openssh-server>

または

sudo yum install openssh-clients openssh-server>

注記 : インストール後に実行中のサーバーのステータスを確認するには、次のコマンドを使用します。 systemctl status sshd

それ以外の場合はJava

サービスが実行されていない場合は、次のコマンドを使用して実行します。

sudo systemctl start sshd>

このコマンドは出力を印刷しません。

起動時にサービスが自動的に開始されるようにするには、次のコマンドを実行します。

sudo systemctl enable sshd>

有効にする sshd サービスはブートプロセス中にサービスを開始します。

a-b 剪定

Linux で SSH を使用してリモート サーバーに接続する方法

この例では、アクセスします Ubuntu または Red Hat Linux `ssh` を使用して Windows コマンド プロンプト経由でマシンに接続します。

例: IP アドレスが 10.143.90.2 で、ユーザー名が Jayesh の場合

SSH を使用してリモート サーバーに接続するための構文:

ssh [email protected]>

Jayesh の代わりにユーザー名を追加し、 IPアドレス 10.143.90.2の代わりに

WindowsからLinuxシステムへのssh

コマンドは 3 つの異なる部分で構成されます。

  • SSHコマンド ホスト マシンとの暗号化された安全な接続を確立するようにシステムに指示します。
  • ユーザー名 ホスト上でアクセスされているアカウントを表します。
  • ホスト アクセスされるコンピューターまたはルーターを指します。 IP アドレス (例: 192.168.1.24) またはドメイン (例: www.domainname.com) にすることができます。

注記: ホスト コンピュータにログインすると、コマンドはホスト端末に直接書き込まれたかのように機能します。公開鍵と秘密鍵のペアまたは SSH 鍵ペアを使用してリモート ホストにログインすると、パスワードを使用するよりも安全です。

公開鍵と秘密鍵を作成するにはどうすればよいですか?

生成用 公開鍵と秘密鍵 次のコマンドを使用します。

ssh-keygen>
ssh-keygen

ssh-keygen

秘密キーは非表示にしておく必要がありますが、公開キーはリモート ホストにコピーする必要があります。公開キーをリモート ホストにコピーした後、パスワードではなく SSH キーを使用して接続が確立されます。

SSHで利用可能なオプション

注記: ここでは、ユーザーとホストの代わりに、接続するユーザー名とIPアドレスを追加します。 localhost はローカル システムの IP です。

Javaでのマージソート
オプション 説明 構文
-1 SSH がプロトコル SSH-1 のみを使用するように強制します。
  ssh -1 user@host>
-2 SSH がプロトコル SSH-2 のみを使用するように強制します。
  ssh -2 user@host>
-4 IPv4 アドレスのみを許可します。
  ssh -4 user@host>
-6 IPv6 アドレスのみを許可します。
  ssh -6 user@host>
-A 認証エージェント接続の転送が有効になっています。
  ssh -A user@host>
-a 認証エージェント接続の転送は無効になっています。
  ssh -a user@host>
-C データ転送を高速化するために、すべてのデータ (stdin、stdout、stderr、転送された X11 および TCP 接続のデータを含む) を圧縮します。
  ssh -C user@host>
-c セッションを暗号化するための暗号仕様を選択します。特定の暗号アルゴリズムは、クライアントとサーバーの両方がサポートしている場合にのみ選択されます。
  ssh -c aes256-cbc user@host>
-f コマンド実行の直前に ssh にバックグラウンドへの移行を要求します。
  ssh -f user@host command>
-g リモート ホストがローカルの転送ポートに接続できるようにします。
  ssh -g -L 8080:localhost:80 user@host>
-n 標準入力からの読み取りを禁止します。
  ssh -n user@host command>
-p リモートホスト上の接続先のポート。
  ssh -p 2222 user@host>
-q すべてのエラーと警告を抑制します
  ssh -q user@host>
-で バージョン番号を表示します。
  ssh -V>
-で 詳細モード。接続を確立している間に実行しているすべてのことをエコーし​​ます。これは、接続エラーのデバッグに非常に役立ちます。
  ssh -v user@host>
-バツ X11 転送 (GUI 転送) を有効にします。
  ssh -X user@host>

T 3 つの主要な暗号化技術 SSHで使用されます。

SSH はデータが暗号化されているため、Telnet などの他のプロトコルよりもはるかに安全です。がある 3 つの主要な暗号化技術 SSH によって使用される:

  • 対称暗号化: この暗号化は、データの暗号化と復号化のための単一キーの生成の原理に基づいて機能します。生成された秘密キーは、安全な接続のためにクライアントとホスト間で配布されます。対称暗号化は最も基本的な暗号化であり、単一のマシン上でデータの暗号化と復号化を行う場合に最高のパフォーマンスを発揮します。
  • 非対称暗号化: この暗号化は、公開キーと秘密キーという 2 つの異なるキーを生成するため、より安全です。公開キーはさまざまなホスト マシンに配布されますが、秘密キーはクライアント マシンに安全に保管されます。この公開鍵と秘密鍵のペアを使用して安全な接続が確立されます。
  • ハッシュ化: 一方向ハッシュは、受信したデータが変更されておらず、本物の送信者からのものであることを保証する認証技術です。ハッシュ関数は、データからハッシュ コードを生成するために使用されます。ハッシュ値からデータを再生成することは不可能です。ハッシュ値は送信側と受信側で計算されます。ハッシュ値が一致する場合、データは本物です。

Linux の `ssh` コマンドに関するよくある質問。

1) SSH は何の略ですか?

SSH はセキュア シェルの略です。

2) SSH は何に使用されますか?

SSH は、リモート システムまたはサーバーに安全に接続するために使用されます。接続された 2 つのシステム間でデータを転送するために使用できます。

3) SSH はどのポートで実行されますか?

SSh は TCP/IP ポート 22 で実行されます。

4) SSH を使用して Windows コマンド プロンプト経由で Linux マシンにアクセスするにはどうすればよいですか?

SSH を使用して Windows コマンド経由で Linux マシンにアクセスできます。

構文:

  ssh user_name@host(IP/Domaimn_name)>

5) SSH を使用して公開鍵と秘密鍵を作成するにはどうすればよいですか?

コマンドを使用して SSH を使用する場合

  ssh-keygen>

6) SSH で使用される 3 つの主要な暗号化技術は何ですか?

SSH で使用される 3 つの主要な暗号化技術は次のとおりです。

  • 対称暗号化
  • 非対称暗号化
  • ハッシュ化

(上記の文脈で説明しました)

7) Linux で SSH を使用してリモート サーバーに接続するにはどうすればよいですか?

` を置き換えます username`> 実際のユーザー名と ` remote_server_ip`> リモートサーバーのIPアドレスまたはドメインに置き換えます。

ssh username@remote_server_ip>

8) 特定のポートでサーバーに接続するための SSH コマンドは何ですか?

このコマンドは、ポート 2222 を使用してリモート サーバーに接続します。必要に応じてポート番号を調整します。

ssh -p 2222 username@remote_server_ip>

9) 方法 SSH を使用してローカル マシンとリモート サーバーの間でファイルを転送しますか?

ファイル転送に SCP を使用します。このコマンドは、ローカル ファイルをリモート サーバー上の指定された宛先に安全にコピーします。それに応じてファイルのパスと名前を調整します。

scp local_file.txt username@remote_server_ip:/path/to/destination/>

結論

この記事では、コンピュータがインターネット上で安全に通信するための秘密の安全なトンネルのようなセキュア シェル (SSH) について説明しました。このガイドは初心者向けであり、SSH を使用して自分のコンピュータを Linux 世界の遠く離れたサーバーに接続するのに役立ちます。基本的な SSH コマンドから、インターネット接続の確認や適切な権限の付与などの前提条件まで、すべてをカバーしています。 Linux に SSH をインストールし、安全なキーを作成し、それらを使用してより安全なログインを行う方法を学びます。この記事には、よくある質問と簡単な回答も含まれており、Linux で SSH を使用してリモート サーバーを自信を持って安全に管理できるようになります。これは、インターネット上で安全に通信するための秘密のコードをコンピュータに与えるようなものです。

Javaのオブジェクト