意外と知らないLinuxのSSHコマンドの使い方7選を徹底解説

意外と知らないLinuxのSSHコマンドの使い方7選を徹底解説

システム管理者は複数のサーバーを同時に管理する場合があり、これらのサーバーは異なる場所に配置されている場合があります。それぞれのマシンを直接訪問して管理するのは明らかに最善の方法ではありません。リモート コントロールが最も効果的な方法です。

Linux システムには、telnet、ssh、vnc など、いくつかのリモート管理ツールがあります。その中でも、ssh は暗号化された伝送を使用するシンプルで安全な管理方法であり、最も一般的に使用されています。

Secure Shell は SSH と略され、IETF のネットワーク ワーキング グループによって開発されました。SSH は、アプリケーション層とトランスポート層上に構築されたセキュリティ プロトコルであり、コンピューターのシェルに安全な送信および使用環境を提供します。

ここではSSHの主な7つの用途を紹介します。

1. 基本的な使い方

最も簡単な方法は、パラメータなしで ssh を入力し、次にホスト アドレスを入力することです。例:

ssh 192.168.0.116

この形式のホストへのログインでは、デフォルトで現在のユーザーを使用してログインします。初めて接続する場合、SSH はターゲットホストの信頼性を確認します。問題がなければ、yes と入力します。

指定されたユーザー名でホストにログインする場合、次の 2 つの方法があります。

a. -lオプションを使用する

ssh -l alvin 192.168.0.116

b. ユーザー@ホスト名の形式を使用する

SSH アルビン@192.168.0.116

これら 2 つの方法のうち、2 番目の方法が特によく使用されます。

2. 指定されたポート経由でログインする

SSH で使用されるデフォルトのポート番号は 22 です。最近の Linux システムのほとんどはポート 22 が開いています。ポート番号を指定せずに ssh プログラムを実行すると、要求はポート 22 を介して直接送信されます。

ポート 22 経由でログインしたくない場合は、-p オプションを使用してポートを指定できます。

ssh 192.168.0.116 -p 1234

拡張トピック: ポート番号を変更するには?

/etc/ssh/ssh_config を変更し、次の行を変更するだけです。

Port 22

3. すべてのデータの圧縮を要求する

-C オプションを使用すると、SSH 経由で送受信されるすべてのデータは圧縮されますが、暗号化されたままになります。

ssh -C 192.168.0.116

ただし、このオプションは、ネットワーク速度がそれほど速くない場合に役立ちます。ネットワーク速度が速い場合は、圧縮を使用すると効率が低下するため、状況に応じて使用する必要があります。

4. デバッグモードをオンにする

何らかの理由で、確立した SSH 接続をトレースしてデバッグしたいと考えています。 SSH が提供する -v オプション パラメータは、この目的のために設計されています。問題が発生した場所を確認できます。

[Alvin.Alvin-computer] ➤ ssh -v [email protected]
OpenSSH_7.1p2、OpenSSL 1.0.1g 2014 年 4 月 7 日
debug1: 設定データ /etc/ssh_config を読み込んでいます
debug1: 192.168.0.116 [192.168.0.116] ポート22に接続しています。
debug1: 接続が確立されました。
debug1: key_load_public: そのようなファイルまたはディレクトリはありません
debug1: プロトコル 2.0 の互換モードを有効にする
debug1: ローカルバージョン文字列 SSH-2.0-OpenSSH_7.1
debug1: リモート プロトコル バージョン 2.0、リモート ソフトウェア バージョン OpenSSH_7.4p1 Raspbian-10+deb9u4
debug1: 一致: OpenSSH_7.4p1 Raspbian-10+deb9u4 pat OpenSSH* compat 0x04000000
debug1: 192.168.0.116:22 に 'pi' として認証しています
debug1: SSH2_MSG_KEXINIT が送信されました
debug1: SSH2_MSG_KEXINIT を受信しました

5. 送信元アドレスをバインドする

クライアントに 2 つ以上の IP アドレスがある場合、SSH サーバーへの接続にどの IP が使用されているかを判断することは不可能になります。この状況を解決するには、-b オプションを使用して IP アドレスを指定します。この IP は接続を確立するための送信元アドレスとして使用されます。

[Alvin.Alvin-computer] ➤ ssh -b 192.168.0.105 [email protected]
Linux raspberrypi 4.14.71-v7+ #1145 SMP 2018年9月21日金曜日 15:38:35 BST armv7l
​
Debian GNU/Linux システムに含まれるプログラムはフリーソフトウェアです。
各プログラムの正確な配布条件は、
/usr/share/doc/*/copyright 内の個々のファイル。
​
Debian GNU/Linuxには、いかなる保証も一切ありません。
適用法によって許可されている。
最終ログイン: 2019年2月24日(日) 08:52:29 192.168.0.105

6. リモートコマンド実行

ターゲット ホストでコマンドを実行する場合、通常はターゲット ホストにログインし、コマンドを実行してからログアウトします。確かに可能ですが、かなり面倒です。

コマンドをリモートで実行したいだけの場合は、次のようにコマンドを続けるだけです。

[Alvin.Alvin-computer] ➤ ssh [email protected] ls -l
デスクトップ
文書
ダウンロード
マグパイ
音楽

7. リモートファイルシステムのマウント

SSH をベースにしたもう一つの優れたツールは sshfs と呼ばれます。 sshfs を使用すると、リモート ホストのファイル システムをローカルに直接マウントできます。使用形式は次のとおりです。

sshfs -o idmap=user user@hostname:/home/user ~/Remote

例えば:

sshfs -o idmap=ユーザー [email protected]:/home/pi ~/Pi

上記は、エディターが紹介した Linux SSH コマンドの詳細な統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。エディターがすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • Linux システムに docker をインストールし、ssh 経由で docker コンテナにログインする方法
  • Linux で SSH サーバー エイリアスを作成する 2 つの方法
  • Linux での sshd サービスとサービス管理コマンドの詳細な説明
  • SSH経由でLinuxサーバーにファイルやフォルダをアップロードする方法
  • Linux SSHログインプロセスの詳細な説明
  • git bash を使用して Linux にログインするための ssh の設定方法

<<:  JS ES6における構造化分解についてお話しましょう

>>:  JS ES6 非同期ソリューション

推薦する

初心者向けMySQLインデックス

序文MySQL インデックスで最も重要なデータ構造は B+ ツリーなので、まずは B+ ツリーの原理...

CocosCreator 入門チュートリアル: TS で初めてのゲームを作る

目次前提TypeScript と JavaScriptコードエディタの選択TypeScriptを学ぶ...

ウェブデザインの初心者に役立つ学習教材をいくつかお勧めします

勉強中に読んだ本についてもよく聞かれます。以下は初心者におすすめの本です(私が勉強中に読んだ本です。...

JavaScript 非同期プログラミングにおける Promise の初期の使用法の詳細な説明

1. 概要Promise オブジェクトは、ES6 で提案された非同期プログラミングの仕様です。非同期...

IE のテキストモード! DOCTYPE の役割の紹介

前の記事で説明したフォームの自動入力の問題を解決した後、新しい問題が発生しました。ページの一部のスタ...

Web データ ストレージ: Cookie、UserData、SessionStorage、WebSqlDatabase

クッキーこれはクライアント ブラウザの状態を保存するための標準的な方法です。Cookie はブラウザ...

Docker コンテナにおける Patroni の簡単な分析

目次イメージの作成ファイル構造Dockerファイルエントリポイント関数ファイルを生成するイメージを構...

Vueのフロントエンドとバックエンドのポートの不一致の問題を解決する

Vue のフロントエンドとバックエンドのポートが一致していませんconfig index.jsファイ...

iframe の src を about:blank に設定した後の詳細

iframe の src を 'about:blank' に設定した後、"...

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...

Dockerは元のタグのイメージの再タグ付けと削除を実装します

docker イメージ ID は一意であり、イメージを物理的に識別できます。repository: ...

Vue h関数の使い方の詳しい説明

目次1. 理解2. 使用1. h() パラメータ2. 使い方が簡単3. カウンターケースを実装する4...

Vueのメソッドとプロパティの詳細な説明

Vueのメソッドとプロパティ1. 方法使用法 1メソッド: {メソッド名: function(){}...

Vue.jsは音楽プレーヤーを実装します

この記事では、音楽プレーヤーを実装するためのVue.jsの具体的なコードを参考までに共有します。具体...

mysql-connector-java.jar パッケージのダウンロード プロセスの詳細な説明

mysql-connector-java.jar パッケージのチュートリアルをダウンロードします: ...