意外と知らない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 バージョンは MYSQL V5.7.9 です。古いバージョンを使用してください: ...

Windows Server のインストール後にワイヤレスとオーディオが機能しない問題を解決する

1. ワイヤレスPowerShell を実行し、次のコマンドを入力します。 install-wind...

Mysql ALTER TABLE はフィールドを追加するときにテーブルをロックしますか?

目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...

WeChatアプレットはシンプルな計算機を実装する

WeChatアプレットの簡単な計算機は参考用です。具体的な内容は次のとおりです。 1. はじめに1....

MySQL ロック関連知識のまとめ

MySQL のロックロックは、並行環境におけるリソースの競合を解決する手段です。その中でも、楽観的並...

MySQL ストアド プロシージャのクエリ コマンドの概要

以下のように表示されます。 mysql.proc から名前を選択します (db='データベー...

MySQL のメモリ使用量と CPU 使用率が高い場合のテストと解決策

変更後: innodb_buffer_pool_size=576M ->256M InnoDB...

VMWare Linux MySQL 5.7.13 のインストールと設定のチュートリアル

この記事では、参考までにVMWare LinuxにMySQL 5.7.13をインストールするチュート...

Vue の自動書式設定の改行保存の詳細な説明

ネットで変更方法をいろいろ調べたのですが、うまくいきませんでした。後で大物から見て削除しました。フォ...

CentOSはexpectを使用してスクリプトやコマンドをバッチでリモート実行します

サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービス...

一般的なMySQLストレージエンジンの長所と短所

目次すべてのストレージエンジンを表示InnoDB ストレージ エンジンMyISAM ストレージエンジ...

Linux の一般的な基本コマンドと使用方法

この記事では、一般的な基本的な Linux コマンドとその使用方法を例を使って説明します。ご参考まで...

Docker データ ストレージ tmpfs マウントの詳細な説明

この記事を読む前に、ボリュームとバインドマウントの基本を理解しておいてください。詳細については、次の...

Reactスロットの使い方

目次必要コアアイデアReactでスロットを実装する2つの方法必要コンポーネントを自分で書きました。コ...

Windows での MySQL データベースのマスター/スレーブ構成チュートリアル

WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...