了解一个功能强大的安全协议------SSH

1.简单的了解什么是SSH:
SSH是Secure Shell(安全外壳协议)的缩写,由IETF 的网络小组(Network Working Group)所制定;SSH是建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
什么是远程连接服务器?
远程连接服务器是指通过文字或图形接口的方式来远程登录系统,让你在远程终端实现登录Linux服务器主机以取得可操作的主机接口(shell),登录后的操作感觉就像是你坐在系统前操作一样。
远程连接服务器的优势:

1)分享服务端主机的运算能力;
2)服务器类型的可以有限度的开放连接;
3)工作站类型的可以只对内网开放;

常见的远程连接管理工具:

1)RDP(Remote Desktop Protocal)协议:Windows远程桌面管理工具(图形化操作界面);
2)Telenet:CLI(命令行)界面下远程管理,几乎所有操作系统都支持(内容明文传输);
3)SSH:CLI界面下的远程管理,几乎所有操作系统都支持(内容加密传输),Unix、Linux、BSD、Macos等操作系统下的主要远程管理方式;
4)RFB(Remote
Framebuffer):远程帧缓冲,是一个定义远程图形用户终端接口的简单协议。因为它是以framebuffer级别的工作方式,因此它适用于所有的窗口系统,包含X11,Windows3.1/95/NT 和Macintosh。用户所操作的远程终端(包含一个显示器加一个键盘和鼠标等)被称为RFB客户端。远程终端所引起的framebuffer变化可以通知到RFB服务器。RFB也是图形化远程管理协议VNC
(Virtual Network Computing)使用的协议。

2.简单的了解SSH的相关功能及其优势:
传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文的方式传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in-the-middle)这种方式的攻击。所谓“中间人”的攻击方式, 就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的"通道"
SSH与Telnet进行对比了解:

1)Telnet
1>Telnet是电信(Telecommunications)和网络(Networks)的联合缩写,这是一种在UNIX平台上最为人所熟知的网络协议;
2>Telnet使用端口23,它是专门为局域网设计的;
3>Telnet不是一种安全通信协议,因为它并不使用任何安全机制,通过网络/互联网传输明文格式的数据,包括密码,所以谁都能嗅探数据包,获得这个重要信息,不安全;
4>Telnet中没有使用任何验证策略及数据加密方法,因而带来了巨大的安全威胁,这就是为什么Telnet不再用于通过公共网络访问网络设备和服务器;
2)SSH
1>SSH代表安全外壳(Secure Shell),它现在是通过互联网访问网络设备和服务器的唯一的主要协议;
2>SSH默认情况下通过端口22运行;不过,这个端口可以进行更改;
3>SSH是一种非常安全的协议,因为它共享并发送经过加密的信息,从而为通过公共互联网等不安全的网络访问数据提供了机密性和安全性;
4>一旦通讯的数据使用SSH经过加密,就极难解压和读取该数据,所以我们的密码在公共网络上传输也变得很安全;
5>SSH还使用公钥用于对访问服务器的用户验证身份,这是一种很好的做法,为我们提供了极高的安全性;
6>SSH主要用在所有流行的操作系统上,比如:Unix、Solaris、RedHat Linux、CentOS和Ubuntu等。

2.了解SSH的连接验证方式(从客户端的角度来看,SSH提供两种级别的安全验证方式):

第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证):需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒左右,相对于第一种级别的安全验证方式来说,时间较长。

注意: SSH2是现在广泛使用的SSH版本,SSH协议使用TCP协议,默认端口号22。
3.简单了解连接的加密技术:

对称密钥加密系统:又称私钥加密,即信息的发送方和接收方用一把密钥去加密和解密数据;
非对称密钥加密系统:又称公钥密钥加密,非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一把进行加密,而解密则需要另一把密钥;

在这里插入图片描述
4.简单了解密钥技术证书的作用:
4.1相关术语简介:

PFX:公钥加密技术12号标准(Public Key Cryptography Standards #12,PKCS#12)为存储和传输用户或服务器私钥、公钥和证书指定了一个可移植的格式。它是一种二进制格式,这些文件也称为PFX文件;
CER:用于存储公钥证书的文件格式;
RSA:加密算法,是一种非对称密码算法;

在这里插入图片描述

PKI(Public Key Infrastructure):即"公钥基础设施",是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI技术是信息安全技术的核心,也是电子商务的关键和基础技术。

PKI体系能够实现的功能有:

1>身份认证;
2>数据完整性校验;
3>数据机密性传输;
4>对数据操作的不可否认性;

4.2了解什么是证书:

1)证书用于保证密钥的合法性;
2)证书将公钥与拥有对应私钥的主体标识信息捆绑在一起;
3)证书的主体可以是用户、计算机、服务等;
4)证书格式遵循X.509标准;
X.509是由国际电信联盟制定的数字证书标准,一般包括:
   1>使用者的公钥值;
   2>使用者标识信息(如:名称和电子邮件地址等);
   3>有效期(证书的有效时间);
   4>颁发者标识信息;
   5>颁发者的数字签名; 
5)证书可以应用于:
   1>Web服务器身份验证;
   2>Web用户身份验证;
   3>安全电子邮件传输;
   4>Internet安全协议(如:IPSec);
6)数字证书由权威公正的第三方机构即CA签发;

4.3简单了解CA的作用:
CA(Certificate Authority,证书颁发机构),CA的核心功能是颁发和管理数字证书。CA的作用包括:

1)处理证书申请;
2)鉴定申请者是否有资格授予证书;
3)证书的发放;
4)证书的更新;
5)接收最终用户数字证书的查询、撤销等操作;
6)产生和发布证书吊销列表(CRL);
7)数字证书的归档;
8)密钥归档;
9)历史数据归档;

证书的发放过程如下图所示:
在这里插入图片描述
5.简单了解SSH的层次与结构:
5.1SSH的层次主要由三部分组成:

1)传输层协议 [SSH-TRANS]
提供了服务器认证,保密性及完整性。此外它有时还提供压缩功能。 SSH-TRANS 通常运行在TCP/IP连接上,也可能用于其它可靠数据流上。 SSH-TRANS提供了强力的加密技术、密码主机认证及完整性保护。该协议中的认证基于主机,并且该协议不执行用户认证。更高层的用户认证协议可以设计为在此协议之上。
2)用户认证协议 [SSH-USERAUTH]
用于向服务器提供客户端用户鉴别功能。它运行在传输层协议 SSH-TRANS上面。当SSH-USERAUTH 开始后,它从低层协议那里接收会话标识符(从第一次密钥交换中的交换哈希H )。会话标识符唯一标识此会话并且适用于标记以证明私钥的所有权。 SSH-USERAUTH 也需要知道低层协议是否提供保密性保护。
3)连接协议 [SSH-CONNECT] 将多个加密隧道分成逻辑通道。它运行在用户认证协议上。它提供了交互式登录话路、远程命令执行、转发 TCP/IP 连接和转发 X11 连接。

5.2SSH的结构:
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。
服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。SSH 1.x和SSH 2.x在连接协议上有一些差异。
一旦建立一个安全传输层连接,客户机就发送一个服务请求。当用户认证完成之后,会发送第二个服务请求。这样就允许新定义的协议可以与上述协议共存。连接协议提供了用途广泛的各种通道,有标准的方法用于建立安全交互式会话外壳和转发(“隧道技术”)专有 TCP/IP 端口和 X11 连接。
SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd来运行SSH进程,但是这完全没有必要。启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用 # ps -waux | grep sshd 来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。
6.了解Linux操作系统上如何配置SSH服务:
6.1首先通过以下命名查看服务器端的SSH服务对应的程序软件包是否安装(默认已安装):

[root@localhost ~]# rpm -qa | grep ssh
openssh-clients-6.6.1p1-22.el7.x86_64
libssh2-1.4.3-10.el7.x86_64
openssh-server-6.6.1p1-22.el7.x86_64
ksshaskpass-0.5.3-7.el7.x86_64
openssh-6.6.1p1-22.el7.x86_64

6.2查看SSH服务对应的配置文件:

[root@localhost ~]# cd /etc/ssh/
[root@localhost ssh]# ll
总用量 276
-rw-r--r--. 1 root root     242153 9月  25 2015 moduli
-rw-r--r--. 1 root root       2208 9月  25 2015 ssh_config
-rw-------. 1 root root       4361 9月  25 2015 sshd_config
-rw-r-----. 1 root ssh_keys    227 1月  14 22:30 ssh_host_ecdsa_key
-rw-r--r--. 1 root root        162 1月  14 22:30 ssh_host_ecdsa_key.pub
-rw-r-----. 1 root ssh_keys    387 1月  14 22:30 ssh_host_ed25519_key
-rw-r--r--. 1 root root         82 1月  14 22:30 ssh_host_ed25519_key.pub
-rw-r-----. 1 root ssh_keys   1679 1月  14 22:30 ssh_host_rsa_key
-rw-r--r--. 1 root root        382 1月  14 22:30 ssh_host_rsa_key.pub

6.3了解SSH服务端主配置文件的相关配置信息:

[root@localhost ~]# vim /etc/ssh/sshd_config
17 #Port 22                            //SSH默认监听的端口号,可修改
 18 #AddressFamily any                 //IPV4、IPV6两个协议家族用哪个,any代表二者都用
 19 #ListenAddress 0.0.0.0             //指明监控的地址,0.0.0.0表示本机上的所有地址,可修改
 20 #ListenAddress ::                  //指明监听IPV6的所有地址的格式
 22 # The default requires explicit activation of protocol 1
 23 #Protocol 2                        //指明SSH的版本,默认为2,在centos7中已拒绝使用版本1
 25 # HostKey for protocol version 1     //1版本的SSH支持以下一种密钥形式
 26 #HostKey /etc/ssh/ssh_host_key       //1版本的SSH对应的密钥形式
 27 # HostKeys for protocol version 2    //使用2版本发送私钥,支持以下四种密钥认证的存放位置(centos6中只支持rsa和dsa两种)
 28 HostKey /etc/ssh/ssh_host_rsa_key    //rsa私钥认证,也是系统默认使用的
 29 #HostKey /etc/ssh/ssh_host_dsa_key   //dsa私钥认证
 30 HostKey /etc/ssh/ssh_host_ecdsa_key       //ecdsa私钥认证
 31 HostKey /etc/ssh/ssh_host_ed25519_key     //ed25519私钥认证
33 # Lifetime and size of ephemeral version 1 server key      //临时版本1服务器密钥的生存期和大小
 34 #KeyRegenerationInterval 1h
 35 #ServerKeyBits 1024              //主机密钥长度,一般越长越安全
 37 # Ciphers and keying
 38 #RekeyLimit default none
40 # Logging
 41 # obsoletes QuietMode and FascistLogging
 42 #SyslogFacility AUTH
 43 SyslogFacility AUTHPRIV     //当有任使用SSH登录系统时,SSH会记录相关的日志信息,该信息保存在/var/log/secure中
 44 #LogLevel INFO              //日志等级
46 # Authentication:
48 #LoginGraceTime 2m           //登录的宽限时间,默认输入了用户名,2分钟没有输入密码的话,则自动断开连接
 49 #PermitRootLogin yes        //是否允许管理员用户直接登录,yes表示允许其登录,也可以通过锁定用户密码让其无法登录
 50 #StrictModes yes            //是否让SSHD进程去检查用户主目录或相关文件的权限数据
 51 #MaxAuthTries 6             //最大认证尝试次数,即输入用户名,可以最多尝试着输入6次密码,如果6次密码都错误,将需要等待一定的时间后才能再次进行连接
 52 #MaxSessions 10             //允许的最大连接会话数
54 #RSAAuthentication yes       //是否开启RSA认证
 55 #PubkeyAuthentication yes   //是否开启公钥认证
57 # The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
 58 # but this is overridden so installations will only check .ssh/authorized_keys
 59 AuthorizedKeysFile      .ssh/authorized_keys     //服务器生成一对公私钥之后,会将公钥放到.ssh/authorized_keys里发送给客户端
61 #AuthorizedPrincipalsFile none
63 #AuthorizedKeysCommand none
64 #AuthorizedKeysCommandUser nobody
66 # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
 67 #RhostsRSAAuthentication no
 68 # similar for protocol version 2
 69 #HostbasedAuthentication no
 70 # Change to yes if you don't trust ~/.ssh/known_hosts for
 71 # RhostsRSAAuthentication and HostbasedAuthentication
 72 #IgnoreUserKnownHosts no
 73 # Don't read the user's ~/.rhosts and ~/.shosts files
 74 #IgnoreRhosts yes
76 # To disable tunneled clear text passwords, change to no here!
 77 #PasswordAuthentication yes
 78 #PermitEmptyPasswords no
 79 PasswordAuthentication yes           //是否允许基于口令认证,即利用用户名和密码进行认证,如果为no的话是不进行口令认证,那么就需要开启证书认证
81 # Change to no to disable s/key passwords
 82 #ChallengeResponseAuthentication yes
 83 ChallengeResponseAuthentication no   //是否允许任何的密码认证
85 # Kerberos options                    //是否支持Kerberos(基于第三方的认证方式,如LDAP)认证方式,默认为No
 86 #KerberosAuthentication no
 87 #KerberosOrLocalPasswd yes
 88 #KerberosTicketCleanup yes
 89 #KerberosGetAFSToken no
 90 #KerberosUseKuserok yes
92 # GSSAPI options
 93 GSSAPIAuthentication yes
 94 GSSAPICleanupCredentials no
 95 #GSSAPIStrictAcceptorCheck yes
96 #GSSAPIKeyExchange no
 97 #GSSAPIEnablek5users no
99 # Set this to 'yes' to enable PAM authentication, account processing,
100 # and session processing. If this is enabled, PAM authentication will
101 # be allowed through the ChallengeResponseAuthentication and
102 # PasswordAuthentication.  Depending on your PAM configuration,
103 # PAM authentication via ChallengeResponseAuthentication may bypass
104 # the setting of "PermitRootLogin without-password".
105 # If you just want the PAM account and session checks to run without
106 # PAM authentication, then enable this but set PasswordAuthentication
107 # and ChallengeResponseAuthentication to 'no'.
108 # WARNING: 'UsePAM no' is not supported in Red Hat Enterprise Linux and may cause several
109 # problems.
110 UsePAM yes
112 #AllowAgentForwarding yes
113 #AllowTcpForwarding yes
114 #GatewayPorts no
115 X11Forwarding yes
116 #X11DisplayOffset 10
117 #X11UseLocalhost yes
118 #PermitTTY yes
119 #PrintMotd yes
120 #PrintLastLog yes
121 #TCPKeepAlive yes
122 #UseLogin no
123 UsePrivilegeSeparation sandbox          # Default for new installations.
124 #PermitUserEnvironment no
125 #Compression delayed
126 #ClientAliveInterval 0
127 #ClientAliveCountMax 3
128 #ShowPatchLevel no
129 #UseDNS yes                           //是否反解DNS,如果想让客户端连接服务器端的速度快一点,那么可以将其设为No
130 #PidFile /var/run/sshd.pid
131 #MaxStartups 10:30:100
132 #PermitTunnel no
133 #ChrootDirectory none
134 #VersionAddendum none
136 # no default banner path
137 #Banner none
139 # Accept locale-related environment variables
140 AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
141 AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
142 AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
143 AcceptEnv XMODIFIERS
145 # override default of no subsystems
146 Subsystem       sftp    /usr/libexec/openssh/sftp-server     //是否支持sftp进行连接,如果注释掉则不支持sftp进行连接
148 # Example of overriding settings on a per-user basis
149 #Match User anoncvs
150 #       X11Forwarding no
151 #       AllowTcpForwarding no
152 #       PermitTTY no
153 #       ForceCommand cvs server
154 #AllowUsers user1 user2        //登录白名单(默认配置文件中没有这个配置,需要自己手动添加),即允许哪些用户进行远程登录。如果设置了白名单,那么名单中没有的用户,则提示拒绝登录。(centos版本上有此命令,RedHat上没有可手动进行添加)

6.4SSH建立连接的过程如下图所示:
在这里插入图片描述
6.5相关案例练习:
案例一:修改SSH服务默认的端口号为2222,进行登录测试

#服务端修改SSH服务默认的端口号为2222
[root@localhost ~]# vim /etc/ssh/sshd_config
Port 2222
#配置文件修改完毕重启服务端的服务
[root@localhost ~]# systemctl restart sshd
#添加防火墙允许策略,允许我们定义的2222端口
[root@localhost ~]# firewall-cmd --permanent --add-port=2222/tcp
Success
#防火墙策略添加完毕进行防火墙策略的重载
[root@localhost ~]# firewall-cmd --reload 
Success
#添加自定义端口的允许策略到SELinux服务中
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 2222
#所有配置完毕客户端进行SSH远程登录操作

在这里插入图片描述
#因为默认端口已经更改,所以假设客户端还是以默认22端口进行登录,是无法登录的
在这里插入图片描述
案例二:拒绝Root用户远程登录,普通用户Redhat正常登录

#编辑配置文件
[root@localhost ~]# vim /etc/ssh/sshd_config
PermitRootLogin no
#配置文件更改完毕重启服务端服务
[root@localhost ~]# systemctl restart sshd
#客户端通过Root用户进行登录测试

在这里插入图片描述
#客户端通过Redhat普通用户进行登录测试
在这里插入图片描述
案例三:允许特定用户进行SSH远程登录,其他用户都无法登录

#首先我们添加一个普通用户旺财,实现只允许旺财用户登录
[root@localhost ~]# useradd wangcai
[root@localhost ~]# passwd wangcai
更改用户 wangcai 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
#编辑配置文件添加白名单列表
[root@localhost ~]# vim /etc/ssh/sshd_config
AllowUsers wangcai
#配置文件更改完毕重启服务
[root@localhost ~]# systemctl restart sshd
#客户端首先通过Redhat普通用户进行SSH远程登录测试

在这里插入图片描述
#客户端通过旺财普通用户进行SSH远程登录测试在这里插入图片描述
案例四:实现两台虚机之间SSH互信,免登陆

#主机192.168.10.206创建密钥对
[root@localhost ~]# ssh-keygen -t rsa    //ssh-keygen 命令是生成、管理和转换认证密钥 ,-t指定类型一般为RSA ,-b指定大小
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
e3:3b:9c:94:39:89:bc:86:5b:b6:aa:d7:1b:d2:43:21 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|    E .          |
|     . .         |
|     ...S+       |
|     oo.*.       |
|    .o*+.o       |
|    o++++.       |
|  .oo+o...       |
+-----------------+
#证书的目录
/root/.ssh/id_rsa
#默认创建的公钥文件
/root/.ssh/id_rsa.pub
[root@localhost ~]# ll /root/.ssh/id_rsa.pub 
-rw-r--r--. 1 root root 408 3月  12 22:21 /root/.ssh/id_rsa.pub
#复制206端的公钥文件到192.168.10.211主机端的/root/.ssh目录下
[root@localhost ~]# ll /root/.ssh/id_rsa.pub 
-rw-r--r--. 1 root root 408 3月  12 22:21 /root/.ssh/id_rsa.pub
[root@localhost ~]# scp /root/.ssh/id_rsa.pub root@192.168.10.211:/root/.ssh/authorized_keys
The authenticity of host '192.168.10.211 (192.168.10.211)' can't be established.
ECDSA key fingerprint is ca:21:f0:64:ec:f1:ba:ea:8a:11:de:42:db:a0:cc:a9.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.211' (ECDSA) to the list of known hosts.
root@192.168.10.211's password: 
id_rsa.pub                                                           100%  408     0.4KB/s   00:00
#主机211端查看/root/.ssh目录下是否有authorized_keys文件
[root@client ~]# ll /root/.ssh/
总用量 8
-rw-r--r--. 1 root root 408 3月  12 22:29 authorized_keys
-rw-r--r--. 1 root root 176 3月   6 15:30 known_hosts
#主机206通过SSH远程登录主机211进行测试
[root@localhost ~]# ssh 192.168.10.211
Last login: Tue Mar 12 22:20:16 2019 from 192.168.10.1
[root@client ~]#

案例五:通过Windows桌面应用程序xshell实现证书登录192.168.10.206主机

#服务端首先创建证书
[root@localhost ~]# ssh-keygen -t rsa -b 4096
[root@localhost ~]# cd /root/.ssh/
[root@localhost .ssh]# ll
总用量 12
-rw-------. 1 root root 3243 3月  12 22:38 id_rsa
-rw-r--r--. 1 root root  752 3月  12 22:38 id_rsa.pub
-rw-r--r--. 1 root root  176 3月  12 22:29 known_hosts
#通过sftp服务将服务端的私钥文件id_rsa下发到Windows桌面

在这里插入图片描述

#服务端编辑配置文件,如果上边几个实验的配置仍存在,需要更改相应配置,这里主要是需要设置取消指令认证,开启证书认证
[root@localhost ~]# vim /etc/ssh/sshd_config
PermitRootLogin yes
#AllowUsers wangcai
PasswordAuthentication no
[root@localhost ~]# systemctl restart sshd
#xshell客户端进行登录测试是否可以基于证书登录,通过浏览->文件选取Windows桌面上的服务端私钥文件
[c:\~]$ ssh 192.168.10.206

在这里插入图片描述
在这里插入图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: ezconfig-scanning是一个用于扫描和配置设备的软件工具。它可以帮助用户快速扫描网络中的设备,并提供简单、直观的界面来配置这些设备。 ezconfig-scanning可以通过自动扫描网络中的设备来快速获取设备的基本信息,如IP地址、MAC地址、设备类型等。用户可以选择具体的设备进行配置,例如更改设备的网络设置、管理设备的权限、添加/删除用户等。通过这个工具,用户可以方便地对设备进行管理和设置,提高工作效率。 与传统的手动设置相比,ezconfig-scanning提供了更加简洁和直观的界面,减少了用户配置的复杂性和困惑。它也可以通过批量配置的方式,同时对多个设备进行设置,进一步提高了配置的效率和便利性。 ezconfig-scanning还具有一定的自动化功能,它可以自动检测设备中的配置错误或潜在问题,并提供相关的修复建议。这有助于用户及时发现和解决问题,保持设备的正常运行。 总之,ezconfig-scanning是一个功能强大且易于使用的设备扫描和配置工具。通过它,用户可以快速、简便地完成设备的扫描和配置,提高工作效率,并确保设备的正常运行。 ### 回答2: ezconfig-scanning是一种配置扫描工具。它旨在简化和自动化系统配置的扫描过程,帮助管理员快速检测和识别系统中的配置错误和安全漏洞。 通过ezconfig-scanning,管理员可以轻松地扫描和分析系统的配置文件,识别配置中的错误、弱点和潜在问题。工具会对各种常见的配置文件进行检测,例如操作系统配置文件、网络设备配置文件、数据库配置文件等。通过全面而深入的扫描,ezconfig-scanning可以发现设置不当、权限配置错误、延迟的补丁和未更新的软件等安全风险。 ezconfig-scanning具有易于使用的界面和直观的操作步骤,使管理员能够快速掌握工具的使用方法。管理员只需导入待扫描的配置文件,然后工具会自动运行扫描并生成详细的扫描报告。报告中将列出每个错误或弱点的详细信息,包括问题的描述、风险等级和建议的解决方案。这帮助管理员更好地理解和解决系统中存在的潜在问题。 ezconfig-scanning不仅可以帮助管理员及时发现和纠正配置错误,还可以提高系统的安全性和性能。通过及时修复配置问题,可以减少系统受到攻击的风险,并提高系统的稳定性。同时,通过优化配置,还可以提升系统的性能和效率,提高用户体验。 总之,ezconfig-scanning是一种有效的配置扫描工具,可以帮助管理员快速发现和解决系统配置中的错误和安全漏洞,提高系统的安全性和性能。 ### 回答3: ezconfig-scanning是一个用于扫描设备配置的工具。它能够帮助用户快速扫描和检查网络设备的配置信息,包括路由器、交换机等。 ezconfig-scanning提供了一种简便的方式来获取设备的配置,使管理员能够更好地了解网络的结构和配置细节。通过该工具,用户可以扫描整个网络,获取每个设备的配置文件,并将其保存到本地或云端,以备后续分析和比较。 ezconfig-scanning具有许多实用的功能。首先,它能够自动识别并连接到网络设备,无需用户手动操作。其次,它支持多种协议,如SSH、Telnet等,使用户可以选择最适合自己的连接方式。其次,它提供了强大的过滤和搜索功能,使用户能够根据自己的需求快速定位感兴趣的配置信息。最后,ezconfig-scanning还支持自定义脚本,用户可以编写自己的扫描和配置检查脚本,以满足特定需求。 ezconfig-scanning的使用非常简单。用户只需输入设备的IP地址或主机名,并选择连接协议和端口号,即可开始扫描和获取配置信息。该工具还提供了良好的用户界面和友好的操作指南,使用户能够快速上手。 总之,ezconfig-scanning是一个功能强大且易于使用的设备配置扫描工具。它可以帮助用户快速获取和了解网络设备的配置信息,提高网络管理效率。无论是个人用户还是企业管理员,都能从中受益。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值