意外と知らない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で最大接続数を達成する方法

目次データベース接続数が急増した理由は何ですか? 1. はじめに2. 知識ポイント3. 練習するIV...

Mysql でよく使用される時間、日付、変換関数の概要

この記事では、主に実際のアプリケーションでよく使用されるMySQLの時刻と日付、および変換関数につい...

Redis イメージの Docker インストールと設定手順

目次序文環境インストールMySQLコンテナを作成して起動する落とし穴を避けるための注意MySQLコン...

アクティビティページでの CSS3 アニメーション効果の適用

背景あっという間に忙しい一年が終わり、毎年恒例のイベントの時期がやってきます。お祭り気分を演出するに...

CSS3プロパティline-clampはテキスト行の使用を制御します

説明: ブロック要素に表示されるテキストの行数を制限します。 -webkit-line-clamp ...

Linux の who コマンド例の紹介

誰についてシステムにログインしているユーザーを表示します。 who コマンドを実行すると、現在システ...

Centos7 ベースの Nginx Web サイト サーバーの構築の詳細説明 (仮想 Web ホストの構成を含む)

1. Nginx サービス基盤Nginx (エンジン x) は、パフォーマンスの最適化のために特別...

カラーブロックレポート効果の動的な表示を実現する HTML (サンプルコード)

HTMLカラーブロックを使用してデータを動的に表示する <スタイル タイプ="te...

html ページ!--[IE の場合]...![endif]--使用方法の詳細な紹介

コードをコピーコードは次のとおりです。 <!--[IEの場合]><script t...

Vueはデジタル千単位区切り形式をグローバルに実装します

この記事の例では、Vue がデジタル 3 桁区切り形式をグローバルに実装するための具体的なコードを参...

MySQL ソートの原則とケース分析

序文ソートはデータベースの基本的な機能であり、MySQL も例外ではありません。ユーザーは、Orde...

Centos7.4 環境に lamp-php7.0 をインストールするチュートリアル

この記事では、Centos7.4 環境に lamp-php7.0 をインストールする方法について説明...

vue3+vite プロジェクトで svg を使用する方法の詳細なグラフィック説明

今日、vue3+viteプロジェクトの実践で、svgを使用する場合、以前の記述方法が使用できないこと...

JavaScript の組み込み Date オブジェクトの詳細な説明

目次日付オブジェクト日付オブジェクトの作成新しい日付()日付を取得する()取得日()月を取得する()...

MySQLで全角文字と半角文字を保存する場合の違い

残念ながら、社内の IM のテスト中に MYSQL_DATA_TRUNCATED エラーが再び発生し...