定義:
SSHは、IETFによって開発されたに基づいて構築されたセキュアなアプリケーション層のネットワークプロトコルです。
役割:
1.これは、(それぞれのファイル転送もWindowsのリモートログインのLinuxサーバーを使用することができます)、リモートログインセッションのために設計されています
2.効果的にネットワークの脆弱性を補うことができ、他のネットワークサービスのためのセキュリティプロトコルを提供します。
3、SSHによって暗号化されたすべてのデータを送信することができ、防止およびDNSスプーフィングIPスプーフィングすることができます。
前記送信データが圧縮され、それは伝送の速度を加速することができます。
だから、SSHは、Linuxシステムの標準的な構成となっています。
SSHのセキュリティメカニズム
1.SSHは、それがすべての転送データの非対称暗号(RSA)暗号化を使用しているため、安全性を確保することができました。
2.従来のネットワークサービスプログラムは、そのような平文データ、ユーザーアカウントとパスワードでネットワークを介してFTP転送など、他人が容易に取得することができます。
3.は、それ自体が認証方法の二つのレベルを提供するため、SSHは絶対に安全であることを意味するものではありません。
(セキュリティ認証パスワードに基づいて)最初のレベル:限り、彼らの口座番号とパスワードを知っているように、あなたがリモートホストにログインすることができます。すべての送信されたデータは暗号化されますが、サーバーがあなたが接続するサーバーに接続していることを保証することはできません。実サーバを装っ内の他のサーバーがあるかもしれません。
セカンドレベル(セキュリティ認証キーに基づいて):あなたがサーバーにアクセスする必要性に自分自身のための鍵のペア、および公衆を作成する必要があります。あなたはSSHサーバに接続する場合は、クライアントソフトウェアは、あなたの鍵を持つサーバ、セキュアな認証要求に要求を送信します。サーバがリクエストを受信した後、最初のホームディレクトリの下にサーバー上の公開鍵を見つけ、その後、あなたは、公開鍵比較の上にそれを送信します。2つの鍵合意した場合、サーバーは、公開鍵暗号「質問」を使用すると、クライアントソフトウェアに送信します。クライアントソフトウェアは「挑戦」を受信した後は、ローカルで解読するために、あなたの秘密鍵を使用して、ログインを完了するために、サーバーに送信することができます。最初のレベルと比較すると、第二のレベルだけでなく、暗号化し、すべての送信されたデータは、それが効果的に損傷から他人を防ぐことができ、ネットワーク上でパスワードを送信する必要があるので、複数のセキュリティはありません。
詳細なグラフィックス:
環境:2 centos7仮想マシン
仮想マシン1:TEST01 IP:192.168.220.137
虚拟机2:test02 ip: 192.168.220.129
1.用虚拟机test02远程登录test01,输入命令
[root@test02 ~]# ssh [email protected]
2.通过修改test01修改配置文件限制其他用户远程登录root账户
[root@test01 ~]# vim /etc/ssh/sshd_config
重启服务
[root@test01 ~]# systemctl restart sshd
此时用test02远程登录test01的root账户来验证
3.添加白名单
[root@test01 ~]# vim /etc/ssh/sshd_config
重启服务,用test02验证
4.添加黑名单(注意,这里白名单和黑名单只能存在一个,不能同时存在)
[root@test01 ~]# vim /etc/ssh/sshd_config
重启服务,验证
4.秘钥的安全加密
[root@test02 ~]# ssh-keygen -t ecdsa
导入公钥到对应要远程登录的账户
[root@test02 ~]# ssh-copy-id -i id_ecsda.pub [email protected]
验证
5.免交互远程登录
[root@test02 ~]# ssh-agent bash
[root@test02 ~]# ssh-add
6.sftp远程下载上传文件
上传
下载
7.TCP Warppers访问控制策略
配置文件:/etc/hosts.allow
/etc/hosts.deny
策略的应用顺序:1.先检查hosts.allow文件,找到匹配则允许访问
2.否则再查找hosts.deny文件,找到则拒绝访问
3.若2个文件均找不到匹配策略,则默认允许访问