Linux での SSH 非秘密通信の実装

Linux での SSH 非秘密通信の実装

SSHとは何か

管理者はリモートでログインして、インターネット経由で接続されたさまざまな場所にある複数のホストを管理できます。

管理者はリモート ホストに対して次の操作を実行できます。

  • リモートログイン
  • リモートコマンド実行
  • リモートファイル転送

残念ながら、これらの操作は安全ではありません。

プレーンテキストのパスワードを使用し、クリアテキストで送信する

  • 情報が傍受され、パスワードが取得される可能性がある
  • 権限のない人物が傍受したパスワードを使用してシステムにログインし、システムに損害を与える

日常の運用実践では、ssh で他のホストにログインする場合、scp を使用して何かをコピーする場合であっても、毎回ログイン パスワードを入力する必要がある場合があります。

ホストをより便利かつ迅速に切り替えるには、SSH の非暗号化通信の方が適しています。

ssh-keygenを使用してキーを生成します。デフォルトでは/root/.ssh/id_rsaにローカルに保存されます。

次に、ssh-copy-idを使用してターゲットホストに配布し、user@ホスト名またはIPアドレスとしてログインします。

知らせ:

1. ホスト名を使用し、ホスト名と対応する IP アドレスを /etc/hosts ファイルに記述するのが最適です。

2. パスワードフリー通信では両者間の相互認証が必要なので、ターゲットホストでも同じ操作を実行する必要があります。

[root@www ~]# ssh-keygen -t rsa -P '' 
公開/秘密 RSA キー ペアを生成しています。
キーを保存するファイル (/root/.ssh/id_rsa) を入力します。 
/root/.ssh/id_rsa はすでに存在します。
上書きしますか? (y/n)?
[root@www ~]#ssh-copy-id -i .ssh/id_rsa.pub [email protected]
/usr/bin/ssh-copy-id: INFO: インストールされるキーのソース: ".ssh/id_rsa.pub"
ホスト「172.16.75.1 (172.16.75.1)」の信頼性を確立できません。
ECDSA キーのフィンガープリントは SHA256:YXhbTS9MfK2IQC4gtOW4RL8voHvFqC1cAAMJXuF3Wec です。
ECDSA キーのフィンガープリントは MD5:2c:c0:94:e8:3a:e4:74:88:c0:d8:e0:01:20:81:1d:8e です。
本当に接続を続行しますか (はい/いいえ)? はい
/usr/bin/ssh-copy-id: INFO: すでにインストールされているキーを除外するために、新しいキーでログインしようとしています
/usr/bin/ssh-copy-id: INFO: インストールするキーが 1 つ残っています -- ここでプロンプトが表示された場合は、新しいキーをインストールしてください
[email protected]のパスワード: 
追加されたキーの数: 1
ここで、「ssh '[email protected]'」を使用してマシンにログインしてみます。
必要なキーだけが追加されたことを確認します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • bash スクリプトで ssh/scp コマンドにパスワードを渡す方法の詳細な説明
  • Linux で SSH 経由でリモート ファイルシステムをマウントする方法の詳細な説明
  • CentOS のデフォルトの SSH ポート番号を変更する方法の例
  • Ubuntu環境でのSSHの詳細なインストールと使用
  • Jenkins の Publish Over SSH プラグインを使用してプロジェクトをリモート マシンにデプロイする手順
  • CentOS 6.5 の設定 ssh キーフリーログインで pssh コマンドを実行する方法の説明
  • Ubuntuの基本設定: openssh-serverのインストールと使用
  • CentOS VPS に SSH 経由で MySQL をインストールする方法
  • Linux オペレーティング システムで ssh/sftp を構成して権限を設定する方法
  • さまざまなターミナルで Mac が SSH 経由でリモート サーバーに接続する方法の説明

<<:  three.js で 3D ダイナミック テキスト効果を実現する方法

>>:  MySQLバイナリログを介してデータベースデータを復元する方法の詳細な説明

推薦する

Vue での this.$set の使用に関する詳細な説明

目次Vue での this.$set の使用使用なぜレスポンシブなのか?分析する要約するVue での...

サーバー上で selenium+chromedriver を実行するための詳細なチュートリアル

1. はじめにSelenium を使用して Web サイトからデータをスクレイピングしたいのですが、...

CSS で 3D ルービック キューブを実装するサンプル コード

今日は簡単な3Dルービックキューブを作ってみましょうまずはレンダリングを見てみましょう!これを学んだ...

MySQL の NULL 値に関する体験談と分析チュートリアルシリーズ

目次1. テストデータ2. ヌル値による不便3. スペース、空の値、null をどのように判断すれば...

MySQL の列から行への変換のヒント (共有)

序文:多くのビジネス テーブルでは、歴史的またはパフォーマンス上の理由により、最初のパラダイムに違反...

HTMLページ内の検索機能を完了する

最近、たくさんの人に改変してもらったフレームワークに取り組んでいます。毎日コードを見ていると目が回り...

Ubuntu での CUDA と CUDNN のインストールとアンインストールの実装

目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...

Java は Apache.POI を使用して HSSFWorkbook を Excel にエクスポートします

Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具...

Vue.jsはシンプルなタイマー機能を実装します

この記事では、参考までに、簡単なタイマー機能を実装するためのvue.jsの具体的なコードを紹介します...

ドッカー専用倉庫港湾建設プロセス

1. 準備1.1 港ダウンロードハーバーダウンロードアドレス:リンクリンクの説明を追加し、必要なバー...

MySQL のバックアップとリカバリの設計アイデア

背景まず、背景を説明します。ある制約により、当社の現在のバックアップ戦略では、1 日おきにフル バッ...

ページのレンダリング時間を短縮してページの実行速度を速めます

ブラウザでのページのレンダリング時間をできるだけ短縮するにはどうすればよいでしょうか? この記事は、...

MySQLの基本的な共通コマンドの概要

目次MySQL の基本的な共通コマンド1. SQL文2. テーブルを作成する3. フィールドのプロパ...

MySQL 8.0 redo ログの詳細な分析

目次序文REDOログの生成REDOログ送信REDOログの保存と通知ユーザースレッドに通知要約する序文...

Vueのリストレンダリングの詳細な説明

目次1. v-for: 配列の内容を走査する(よく使われる) 2. v-for: オブジェクトのプロ...