Linux リモート管理と sshd サービス検証の知識ポイントの詳細な説明

Linux リモート管理と sshd サービス検証の知識ポイントの詳細な説明

1. SSHリモート管理

SSH の定義

  • SSH (Secure Shell) は、主にキャラクタ インターフェイスでリモート ログインやリモート コピーなどの機能を実装するために使用されるセキュア チャネル プロトコルです。
  • SSH プロトコルは、ユーザーがログインするときに入力したユーザー パスワードを含む、通信する 2 つの当事者間で送信されるデータを暗号化します。したがって、SSH プロトコルは優れたセキュリティを備えています。

SSHの利点

  • 情報漏洩を防ぐためにデータ送信は暗号化されます
  • データ伝送は圧縮され、伝送速度が向上する。

SSH 設定ファイル

  • sshdサービスのデフォルトの設定ファイルは/etc/ssh/sshd_configです。
  • ssh_configとsshd_configはどちらもsshサーバーの設定ファイルです。

2 つの違いは、ssh_config はクライアント用の設定ファイルであるのに対し、sshd_config はサーバー用の設定ファイルである点です。

SSHクライアントとサーバー

  • SSH クライアント: Putty、Xshell、CRT
  • SSHサーバー: OpenSSH
  • OpenSSH は、SSH プロトコルを実装し、さまざまな UNIX および Linux オペレーティング システムに適用できるオープン ソース ソフトウェア プロジェクトです。

デフォルトでは、CentOS 7 システムには openssh 関連パッケージがインストールされ、sshd サービスがスタートアップ サービスとして追加されています。

2. OpenSSHサーバーを構成する

1. shd_config 設定ファイルの共通オプション設定

vim /etc/ssh/sshd_config
ポート22 #リスニングポートは22です
ListenAddress 0.0.0.0 #リスニングアドレスは任意のネットワークセグメントにすることも、OpenSSHサーバーの特定のIPを指定することもできます

LoginGraceTime 2m #ログイン検証時間は2分です PermitRootLogin no #ルートユーザーのログインを禁止します MaxAuthTries 6 #再試行の最大回数は6回です

PermitEmptyPasswords no #パスワードが空のユーザーのログインを無効にするUseDNS no #サーバーの応答速度を向上させるためにDNS逆引きを無効にします#zhangsan、lisi、wangwuユーザーのみログインを許可し、wangwuユーザーはIPアドレス61.23.24.25のホストからのみリモートログインできますAllowUsers zhangsan lisi [email protected] #複数のユーザーはスペースで区切ります#特定のユーザーのログインを無効にします。使用方法はAllowUsersと同様です(同時に使用しないように注意してください)
DenyUsers zhangsan

2. 許可ユーザーと拒否ユーザー

Allowusers...... #特定のユーザーのみログインを許可 Denyusers...... #特定のユーザーのログインを禁止、使用方法はAllowUsersと同様です(同時に使用しないように注意してください)

3. リモートレプリケーション

scp [email protected]:/etc/passwd /root/passwd10.txt

4. sftp セキュア FTP

暗号化/復号化技術を使用しているため、通常の FTP よりも伝送効率は低くなりますが、セキュリティは高くなります。 sftp の操作構文は ftp とほぼ同じです。

sftp ルート@192.168.184.20
sftp> ls
sftp> get file name # ファイルを ftp ディレクトリにダウンロードします sftp> put file name # ファイルを ftp ディレクトリにアップロードします sftp> quit # 終了します

3. sshdサービスが認証をサポートする仕組み

パスワード認証

サーバーのローカル システム ユーザーのログイン名とパスワードを確認します。シンプルですが、ブルートフォースで破られる可能性があります。ブルートフォースクラッキングについては、システムの弱いパスワード検出の詳細な説明については、以前のブログを参照してください。

キーペアの検証

検証には一致するキー情報が必要です。通常、最初にクライアント上にキー ファイルのペア (公開キーと秘密キー) が作成され、次に公開キー ファイルがサーバー上の指定された場所に配置されます。リモートでログインする場合、システムは暗号化/復号化の関連付けの検証に公開キーと秘密キーを使用します。セキュリティを強化し、対話型ログインの必要性を排除できます。

パスワード認証とキーペア認証の両方が有効になっている場合、サーバーはキーペア認証を優先します。実際の状況に応じて検証方法を設定できます。

vim /etc/ssh/sshd_config #サーバーのメイン設定ファイルを編集します。PasswordAuthentication yes #パスワード認証を有効にします。PubkeyAuthentication yes #鍵ペア認証を有効にします。AuthorizedKeysFile .ssh/authorized_keys #公開鍵ライブラリファイルを指定します。

クライアントでキーペアを作成する

ssh-keygen ツールを使用して、現在のユーザーのキー ペア ファイルを作成します。使用可能な暗号化アルゴリズムは、RSA、ECDSA、または DSA です。(アルゴリズムの種類を指定するには、ssh-keygen コマンドの "-t" オプションを使用します。)

ユーザー追加 管理者
echo "123123" | passwd --stdin admin
su - 管理者
ssh-keygen -t ecdsa
公開/秘密 ecdsa キー ペアを生成しています。
キーを保存するファイル (/home/admin/.ssh/id_ecdsa) を入力してください: # 秘密キーの場所を指定します。デフォルトの場所を使用するには Enter キーを押します。ディレクトリ '/home/admin/.ssh' が作成されました。# 生成された秘密キーと公開キーのファイルは、デフォルトでホスト ディレクトリの隠しディレクトリ .ssh/ に保存されます。パスフレーズを入力してください (パスフレーズがない場合は空): # 秘密キーのパスワードを設定します。同じパスフレーズをもう一度入力してください: # 入力内容を確認します。ls -l .ssh/id_ecdsa*#id_ecdsa は、デフォルトの権限 600 を持つ秘密キー ファイルです。id_ecdsa.pub は、SSH サーバーに提供される公開キー ファイルです

サーバーの/home/zhangsan/.ssh/ディレクトリに公開鍵テキストをインポートします。

cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub [email protected]

クライアントでのキーペア認証の使用

ssh 張さん@192.168.86.10
[email protected]のパスワード: #秘密鍵のパスワードを入力してください

対話型ログインを実現するためにクライアントにSSHプロキシ機能を設定する

sshエージェントbash
ssh 追加
/home/admin/.ssh/id_ecdsa のパスフレーズを入力してください: #秘密鍵のパスワードを入力してください ssh [email protected]

*補充する

scp ~/.ssh/id_ecdsa.pub [email protected]:/opt # ローカルの ~/.ssh ディレクトリにある公開鍵をサーバーの /opt ディレクトリにアップロードします mkdir /home/zhangsan/.ssh/ # サーバーの /home/zhangsan/ ディレクトリに .ssh ディレクトリを作成します cat /opt/id_ecdsa.pub >> /home/zhangsan/.ssh/authorized_keys # /opt ディレクトリにある公開鍵ファイルを、サーバーの /home/zhangsan/.ssh/ ディレクトリにある authorzed_keys ファイルに追加します cat /home/zhangsan/.ssh/authorized_keys # サーバーの /home/zhangsan/.ssh/authorized_keys ファイルを表示します

Linux リモート管理と sshd サービス検証の知識ポイントに関するこの記事はこれで終わりです。Linux リモート管理と sshd サービス検証の関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • ブルートフォース攻撃を防ぐためのシェルスクリプト設定
  • SSH ポート転送とは何ですか?何の役に立つの?
  • sshとは何ですか?使い方は?どのような誤解があるのでしょうか?
  • Centos8環境でSSHポート番号を変更する方法
  • SSH リモート管理サービス

<<:  純粋な CSS で実装された 3 つの通知バーのスクロール効果

>>:  【HTML要素】画像の埋め込み方法

推薦する

DockerにRabbitMQをインストールする詳細な手順

目次1. 鏡を見つける2. RabbitMQイメージをダウンロードする3. RabbitMQコンテナ...

コピー&ペーストはパッケージングの敵です

OO、デザイン パターン、および多くのオブジェクト指向の原則について話す前に、まず 1 つのことを習...

MySQL curdate() 関数の詳細な例

MySQL CURDATE関数の紹介文字列コンテキストまたは数値コンテキストの YYYMMDD 形式...

チェックボックスの選択またはキャンセルを実装するJavaScript

この記事では、すべてのチェックボックスを選択または解除するためのJavaScriptの具体的なコード...

CSSフィルターにはどんな魔法の用途があるか

背景基本概念CSS filterプロパティは、ぼかしや色の変化などのグラフィック効果を要素に適用して...

Dockerイントラネット侵入FRP展開の実装プロセスの分析

1. 設定ファイルディレクトリを作成するcd /ホームディレクトリmkdir frp最終的なディレク...

Vue+Openlayerはmodifyを使用して要素の完全なコードを変更します

Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...

Vue3 (V) HTTPライブラリaxiosの統合の詳細

目次1. axiosをインストールする2. アクシオスの使用1.ホームページでaxiosを参照する2...

mysql5.7 のエンコーディングを utf8mb4 に設定する方法

最近、問題に遭遇しました。モバイル端末の絵文字や一部の絵文字は 4 バイトですが、UTF-8 は 3...

MySQLに画像を保存する方法

1 はじめにデータベースを設計する場合、画像や音声ファイルをデータベースに挿入することは避けられませ...

HTML における <meta> タグの使用に関する詳細な説明

私たちが作成する Web ページでは、より多くの人々に訪問してもらいたい場合、検索エンジンを使用して...

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (...

WebWorkerはJavaScriptサンドボックスの詳細をカプセル化します

目次1. シナリオ2. IJavaScriptShadowboxを実装する2.1 メインスレッドの実...

HTML タイトル属性をラップする方法

数日前にプログラムを書いていたとき、プロンプト情報 (TITLE) を新しい行で囲みたいと思いました...