sshdサービスを構成する

SSH(セキュアシェル)は、安全な方法でリモートログインを提供できるプロトコルです。FTPまたはTelnetリモートログインを使用して、アカウントのパスワードと情報を実用的なクリアテキストの形式でネットワークに送信しますが、これは非常に安全ではありません。また、SSHは通信内容を暗号化します。情報が盗聴された場合でも、送信されたパスワード、特定のコマンド、およびコマンドの戻り結果を解読することはできません。

SSHプロトコルを使用したLinuxシステムのリモート管理には、sshdサービスプログラムの導入と構成が必要です。Sshdは、SSHプロトコルに基づいて開発されたリモート管理サービスプログラムであり、セキュリティ検証の2つの方法を提供します。

  • アカウントとパスワード認証によるパスワードベースの認証ログイン
  • 鍵ベースの認証で鍵ペアをローカルに生成し、鍵ペアの公開鍵をサーバーにアップロードして、サーバーの公開鍵と比較します

sshdサービスの構成情報は、/ etc / ssh / sshd_configファイルに格納されています。sshd構成ファイルに含まれる共通のパラメーターと関数は次のとおりです。

  • ポート22-デフォルトのsshdサービスポート
  • ListenAddress 0.0.0.0-sshdサーバーがリッスンするIPアドレスを設定します
  • プロトコル2-SSHプロトコルのバージョン番号
  • HostKey / etc / ssh / ssh_host_key:SSHプロトコルバージョンが1の場合、DES秘密キーが保存されている場所
  • HostKey / etc / ssh / ssh_host_rsa_key——SSHプロトコルバージョンが2の場合、RSA秘密鍵が保存されている場所
  • HostKey / etc / ssh / ssh_host_dsa_key——SSHプロトコルバージョンが2の場合、DSA秘密鍵の保存場所
  • PermitRootLogin yes——ルート管理者が直接ログインできるようにするかどうかを設定します
  • StrictModesは、リモートユーザーの秘密キーが変更されたときに、yes-directに接続を拒否します
  • MaxAuthTries 6-パスワードの最大試行回数
  • MaxSessions 10-最大端末数
  • PasswordAuthentication yes-パスワード認証を許可するかどうか
  • 空白のパスワードログインを許可するかどうかにかかわらず、PermitEmptyPasswords

注:ssh_configはクライアント構成ファイルです(他のマシン構成パラメーターにログインする方法)

sshd_configはサーバー側の構成ファイルです(他のユーザーが私にログインする方法のパラメーター)

通常、クライアント構成ファイルは変更しないでください。

リモート接続にはsshを使用します。形式は次のとおりです:ssh [parameter] username @ hostIPaddress

1.アカウントのパスワード検証でログインします

[root @ localhost〜] #ssh 192.16875.132 
ホストの真正192.168.75.132(192.168.75.132)ができ' tを確立します。
ECDSAキーフィンガープリント SHA256:2WVtTvXeAlDpu1IieRaV / RPEgyVgD9X94VKNemR1Kzsです。
ECDSAキーフィンガープリント MD5:7902304640:a1:fe:4554:ab:48:5d:34:db:6269 です。接続続行してよろしいですか(はい/いいえ)?yes 
警告:既知のホストのリストに192.168.75.132 (ECDSA)を永久に追加しました
ルート@ 192.16875.132 " #管理者のパスワードを入力:S・パスワード 
最終ログイン:日で4月を。19  161459  2020 
[ルートの推進、@]#
[ルート@促進]#
[ルート@促進]#出口
ログアウト192.168 
への接続75.132クローズ。

/ etc / ssh / sshd_configファイルのPermitRootLoginパラメーター値をnoに設定すると、管理者がリモートでサーバーにログインして、ハッカーがパスワードを破る可能性を減らすことができなくなります。

192.168.75.150のsshd構成ファイルを変更します。

構成ファイルを変更した後、サービスを再起動します

[root @ localhost〜]#systemctl restart sshd
[root @ localhost〜 ]#systemctl enable sshd

 テスト中

[ルート@ localhostの〜]#のSSH  192.16875.150 
root @ 192.16875.150 " のパスワード: 
アクセス許可は拒否されました、もう一度試してください。

パスワードログインは次のとおりです。

  • クライアントはログイン要求をサーバーに送信します
  • サーバーはクライアント要求を受信し、独自の公開鍵をクライアントに送信します
  • クライアントは公開鍵を使用してログインパスワードを暗号化し、サーバーに送信します
  • サーバーは秘密鍵を使用して復号化します。パスワードが正しい場合、クライアントはログインを許可されます

初めてログインすると、公開鍵が信頼できないという警告が生成されます。公開鍵が受信されると、クライアントファイル$ HOME / .ssh / known_hostsに保存されます。次回接続するときに、警告が生成されなくなります。パスワードを直接入力できます。

2.セキュリティキーを使用してログインを確認する

1.クライアントホストでキーペアを生成します

[root @ localhost〜]#ssh-keygen 
公開 / 秘密のrsa鍵ペアを生成しています。
入力ファイル  保存ザ・キー(。/ルート/にSSH / id_rsaと):ストレージ・パスを押して、キーまたはのセットを入力します。
パスフレーズを入力(パスフレーズがない場合):Enterキーを押すか、キーのパスワードを設定します
同じパスフレーズをもう一度入力してください:Enterキーを押すか、キーのパスワードを確認してください
IDは / root /に保存されましたssh / id_rsa。
公開鍵は / root /に保存されましたssh / id_rsa.pub。
重要なフィンガープリントは次のとおりです。
SHA256:flbEv7iJvF / CkvrCXIrRaM8E63dqsBO75V7YCo7oiKw [email protected]
キー' のrandomart画像である: 
+ --- [RSA 2048 ] ---- +
| |
| |
| o |
| |
| = S。|
| B.oo. +。|
| o。&+ oB + o |
| o。o * + XB.o = |
| Eoo。o ** == o + |
+ ---- [SHA256] ----- +


[root @ localhost〜] #ls .ssh /
id_rsa id_rsa.pub known_hosts

2.クライアントホストで生成された公開鍵ファイルをサーバーに転送し、ssh-copy-idコマンドを使用して、ログインしたホストの公開鍵ファイルの内容をserver.sshディレクトリのauthorized_keysファイルに自動的に追加します。

[ルート@ localhostの〜]#sshの -copy- ID  192.16875.132 
/ usr / bin / ssh -copy- id:INFO:新しいキーでログインて、すでにインストールされているものをすべて除外しようとしている
 / usr / bin / ssh -copy- id:INFO:1 key( s)まだインストールされていません- プロンプトが表示されたら、新しいキーインストールします
ルート@ 192.16875.132 パスワードサーバを入力:S・パスワード

(S)のナンバーキーを追加しました:1

次に、ssh '192.168.75.132' 
を使用してマシンにログインし、   必要なキーのみが追加さいること確認します。

3.キー認証ログインのみを許可するようにサーバーを設定する

[root @ promote Desktop]#vim / etc / ssh / sshd_config
PermitAuthenticationいいえ

[root @ promote Desktop]#systemctl restart sshd
[root @ promote Desktop]#systemctl enable sshd

4.クライアントで、サーバーへのログインを試みます。現時点では、パスワードなしでログインできます。

[ルート@ localhostの〜]#のSSH  192.16875.132は、
前回は失敗したログイン日4月:19  163613 CST 2020:から0に:0 
だった1つの失敗したログイン以来の試み最後に成功したログインが
最終ログイン2020年 4月19日 16232020年9  192.168から75.150 
[root @ promote〜 ]#

キーログインは次のとおりです。

  • クライアントは公開鍵をサーバーに保存します
  • クライアントはサーバーにリモートでログインし、サーバーはランダムな文字列をクライアントに送信します
  • クライアントは独自の秘密鍵で文字列を暗号化し、サーバーに送信します
  • サーバーは事前に保存された公開鍵を使用して復号化します。成功すると、ユーザーが信頼されていることを示し、パスワードなしのログインシェルが許可されます
#ssh-keygen
#ssh-copy-id user @ server IP
#sshユーザー@サーバーIP

 

おすすめ

転載: www.cnblogs.com/wanao/p/12732274.html