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

推薦する

Vue でコンポーネントを一括インポート、登録、使用する方法

序文コンポーネントは、非常に頻繁に使用されるものです。多くの人は、コンポーネントを 1 つのファイル...

MySQL で行を列に変換したり、列を行に変換したりする詳細な例

mysql 行から列へ、列から行へ難しい文章ではないので、詳しく説明はしません。文章を読むときは、一...

Vueは動的クエリルール生成コンポーネントを実装します

1. 動的クエリルール動的クエリルールは、おおよそ次の図のようになります。ユーザのカスタマイズに応じ...

JavaScript ベースのランダム点呼システムの実装

この記事では、ランダムロールコーラーを実装するためのJavaScriptの具体的なコードを参考までに...

Linux 上の MariaDB は root ユーザーで起動します (推奨)

最近、セキュリティ製品をテストする必要があったため、mariadb の起動ユーザーを root に調...

CSS3は、欠けた角の長方形、折り畳まれた角の長方形、欠けた角の境界線を実装しています。

序文数日前、偶然、コーナーの四角形が欠落している機能に遭遇しました。最初に頭に浮かんだのは、必要な場...

React dva実装コード

目次ドヴァdvaの使用DVAの実装非同期をサポートルーターの実装成し遂げる:ドヴァdva は、red...

ミニプログラムはミニプログラムクラウドを使用してWeChatの支払い機能を実装します

目次1. WeChat Payを開く1.1 アフィリエイト加盟店番号1.2 加盟店番号を追加する1....

CSS属性のデフォルト値width: autoとwidth: 100%の違いの詳細な説明

幅: 自動子要素(コンテンツ+パディング+境界線+余白を含む)は、親要素のコンテンツ領域全体を埋めま...

Docker で MySQL をインストールし、リモート接続を実装するチュートリアル

画像をプルする docker プル mysql完成した画像を見る Docker イメージイメージを介...

mysql5.7.18.zip インストール不要版設定チュートリアル(Windows)

これは私が以前使用した mysql5.7.18.zip のインストール チュートリアルです。まずこれ...

MySQL 最適化: キャッシュ最適化

何人かのブロガーが私の記事を評価してくれたのは嬉しいです。マークと知り合ってからは、私は彼をフォロー...

MySql の null 関数の使用の共有

MySql の null に関する関数IFNULL ISNULL NULLIF IFNULL使用法:...

vue+drf+サードパーティのスライディング検証コードアクセスの実装

目次1. 背景2. 検証プロセス3. 検証を作成する4. フロントエンドコード4.1 コアjsファイ...