意外と知らない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 5.7 の一時テーブルスペースを使用して落とし穴を回避する方法

導入MySQL 5.7 は、SSL/TLS と全体的なセキュリティ開発におけるいくつかの重要な変更に...

CSS を使用して、画像に 3D の凸型と凹型のエフェクト (フレーム外に凸型、またはフレーム内に凹型) を実現します。

Ⅰ. 問題の説明: CSS を使用して画像の 3D 凸凹効果を実現します。 Ⅱ実施手順は以下のとお...

MySQLが大量のデータを処理する際にクエリ速度を最適化するいくつかの方法

実際に参加したプロジェクトでは、MySQL テーブルのデータ量が数百万に達すると、通常の SQL ク...

Centos7 サーバーで jar パッケージ プロジェクトを開始する最良の方法

序文Linux 上で jar パッケージを実行する方法は誰もが知っています。なぜ別々に話したいのでし...

Reactは複雑な検索フォームの展開と折りたたみ機能を実装します

時間に余裕を持って、過去を忘れましょう。前のセクションでは、[検索] フォームとクエリおよびリセット...

カルーセル効果を作成するためのjs

カルーセルはフロントエンド開発において比較的重要なポイントだと思います。ネイティブjsの知識ポイント...

シンプルなドラッグ効果を実現するJavaScript

この記事では、簡単なドラッグ効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

mysqlはルートユーザーと一般ユーザーを作成し、機能を変更および削除します。

方法1: SET PASSWORDコマンドを使用する mysql -u ルート mysql> ...

Vueコンポーネントドキュメントを自動生成する方法を分析する

目次1. 現状2. コミュニティソリューション2.1 事業レビュー3. 技術的ソリューション3.1....

Jenkins は Docker イメージを構築し、Harbor ウェアハウスにプッシュします

目次DockerファイルドキュメントJenkins の設定Spring Boot プロジェクトでは、...

Linuxのbasenameコマンドの使い方

01. コマンドの概要basename - ファイル名からディレクトリとサフィックスを削除しますba...

JavaScript 組み込みオブジェクトの概要

目次1. 組み込みオブジェクト2. 数学オブジェクト1. Mathオブジェクトの使用2. 指定された...

Vue 画像切り抜きコンポーネントのサンプルコード

例:ヒント:このコンポーネントはvue-cropperの二次パッケージに基づいていますプラグインをイ...

favicon.ico についていくつか注意点があります (ルートディレクトリに置くのがベストです)

任意のウェブページを開きます。例: http://www.baidu.com/ ブラウザのタブのヘッ...

Docker コンテナのネットワーク設定によく使われるコマンドの詳しい説明

基本的なネットワーク構成Docker はイメージに基づいて複数のコンテナを「開く」ことができ、各コン...