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要素】画像の埋め込み方法

推薦する

Linuxの相対パスと絶対パスの使用

01. 概要絶対パスと相対パスはシェル環境でよく使用され、それぞれに独自の用途があります。相対パスの...

CSS を使用して 3 列のアダプティブ レイアウト (両側は固定幅、中央はアダプティブ) を実現します。

いわゆる 3 列適応レイアウトとは、両側の幅が固定され、中央のブロックの幅が適応されることを意味しま...

MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...

Web デザインにおける Less と More について語る (写真)

Less is More は多くのデザイナーのキャッチフレーズです。これは建築界の巨匠ルートヴィヒ...

MySQLにインデックスを追加する方法

インデックスの簡単な紹介は次のとおりです。インデックスを追加する目的は、データベース クエリのパフォ...

Docker でコンテナのポート マッピングを動的に変更する方法

前書き: Docker のポート マッピングは、多くの場合、Docker Run コマンド中に -p...

MySQLデッドロックの原因と解決策

データベースは、オペレーティング システムと同様に、複数のユーザーが使用する共有リソースです。複数の...

ショートカットアイコンとアイコンコードの違いの紹介

ステートメント 1: <link rel="shortcut icon" ...

VueはEChartsを使用して折れ線グラフと円グラフを実装します

バックエンド管理プロジェクトを開発する場合、バックエンドのユーザーデータをカウントし、折れ線グラフや...

HTML 基本ノート (推奨)

1. ウェブページの基本構造: XML/HTML コードコンテンツをクリップボードにコピー<...

docker を使用して Linux 環境に Springboot パッケージをデプロイするチュートリアル

springboot には tomcat サーバーが組み込まれているため、jar パッケージにパッケ...

Linux (CentOS) システムで MySQL データベース ディレクトリの場所を変更する方法

CentOS システムで MySQL データベース ディレクトリの場所を変更する方法1. まず、My...

虫眼鏡の詳細のJavaScript実装

目次1. レンダリング2. 実施原則3. まとめ1. レンダリング 2. 実施原則幅と高さが等しい拡...

VUE v-for の :key の詳細な説明

v-for タグにキーが追加されていない場合。 <!DOCTYPE html> <...

VMware12.0 インストール Ubuntu14.04 LTS チュートリアル

私は、デスクトップ バージョンとサーバー バージョンの両方で、仮想マシンにさまざまなイメージを何度も...