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. はじめに2. アイデアファイルをアップロードする2つの方法3. ライフサイクル4. コード...

「@INC で ExtUtils/MakeMaker.pm が見つかりません」というエラーを解決する

mha4mysql をインストールする場合の手順は、おおよそ次のようになります: unzip、per...

SQLクエリの実行順序をゼロから学ぶ

SQL クエリ ステートメントの実行順序は次のとおりです。 (7)選択 (8) DISTINCT &...

MySQLからデータをインポートする際の不正なフォーマット、インポートの遅延、データ損失などの問題を迅速に解決します。

遅い問題を完全に解決したい場合は、MySQL を MySQL 8.0 にアップグレードすることをお勧...

エラー 1045 (28000): ユーザー ''root''@''localhost'' のアクセスが拒否されました (パスワード使用: YES) 実用的な解決策

昨日はデータベースへの接続に問題はありませんでしたが、今日はデータベースへの接続時にこのエラーが報告...

npm 淘宝ミラー変更説明

1. トップレベルの使用法1. cnpmをインストールする npm i -g cnpm --regi...

JS を使用して要素が配列であるかどうかを判断する例

検証できるデータの種類は次のとおりです a = [1,2,3,4,5,6]とします。 b = [とし...

VueでEchartsチャートの幅と高さの適応を実現する実践

目次1. インストールとインポート2. 手ぶれ補正機能を定義する3. チャートコードを描くinit ...

html+vue+element-ui のスムーズさを 1 分で体験

テクノロジーファンHTMLウェブページ、知っておくべきYouyou が開発した vue フロントエン...

a タグにはテキストと画像があります。テキストを非表示にして画像のみを表示するにはどうすればよいでしょうか?

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

VUEはFlappy Birdゲームのサンプルコードを実装します

Flappy Bird は、誰もがアプリでプレイしたことがある非常にシンプルな小さなゲームです。ここ...

vxe-table を使用して vue で編集可能なテーブルを作成するプロセス

プロジェクトには、オンラインで編集する必要があるテーブルがあります。最初は、要素の el-table...

Pure CSS3はdivの出入りを順番に実現します

この記事は主に、純粋な CSS3 を使用して div が順番に出入りする効果を紹介します。一定の参考...

LinuxにMySQLをインストールし、外部ネットワークアクセスを構成する例

設定手順1. DNSが設定されているかどうかを確認するDNSが設定されていない場合は、前の記事を参照...