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

推薦する

ウェブフォーム送信方法の詳細な概要

まず、フォームを送信するいくつかの方法を見てみましょう。 1. <!--一般的な送信ボタン--...

Bootstrap 3.0 学習ノートボタンスタイル

この記事では主にボタンのスタイルについて説明します。 1. オプション2. サイズ3. 活動状況4....

Vue3 プロジェクトで WeChat 認証ログインをエレガントに実装する方法

目次序文準備する実装のアイデアコードについて要約する序文WeChat 認証ログインは、WeChat ...

ウェブページ制作と饅頭の関係(体験の共有)

昨日は遅くまで寝ていて、一日中起きていました。私の年齢では、夜更かしして本を書くのはもう無理のようで...

jQueryはバウンドボールゲームを実装します

この記事では、バウンドボールゲームを実装するためのjQueryの具体的なコードを参考までに共有します...

HTML テーブルタグと関連する改行の問題の詳細な分析

テーブルとは何ですか?テーブルは、データのキャリアである HTML テーブルです。以下は比較的標準的...

MySQL 5.7 でデータベースのデータ保存場所を変更する方法

MySQL データベースに保存されるデータが徐々に増加すると、元のストレージ領域がいっぱいになり、M...

Linuxで中断されたシステムを呼び出す方法

序文低速システム コールとは、決して戻らない可能性があり、プロセスを永久にブロックするシステム コー...

nginx「504 ゲートウェイタイムアウト」エラーを解決する

ウェブサイトを作成する学生は、アクセス時に一部の nginx サーバーが 504 Gateway T...

docker ストレージを使用して Exit を実行すると、サーバーへのファイルのアップロードが失敗する問題と解決策

1. 問題の説明Docker コンテナにインストールされているストレージが終了状態になっているため、...

MySQL ビュー管理ビューの例の詳細説明 [追加、削除、変更、クエリ操作]

この記事では、例を使用して MySQL ビューの管理ビュー操作について説明します。ご参考までに、詳細...

ES6のシンボルデータ型について詳しく説明します

目次シンボルデータタイプシンボルが表示される理由シンボルの特徴シンボルの応用rbオブジェクトにupメ...

Webデザインの経験:ナビゲーションシステムをシンプルにする

<br />友人と話し合っていたとき、フレームワークのレイヤー設計の中で最も核となるのは...

Windows 10 で MySql の解凍バージョンをインストールして構成する方法のチュートリアル

Windows 10 で MySql データベースの解凍バージョンをインストールするステップ 1: ...

Mac+IDEA+Tomcat の設定手順

目次1. ダウンロード2. インストールと解凍3. Tomcatを起動する4番目に、インストールが成...