SSH远程连接服务中修改配置文件的指令操作与web服务器上HTTP协议的介绍

发布于:2022-07-25 ⋅ 阅读:(384) ⋅ 点赞:(0)

1.实现免密登录

(1)想要免密登陆,首先要创建公钥与私钥 

·/.ssh/id_rsa  私钥
·/.ssh/id_rsa.pub 公钥

(2)将第一台上生成的密钥传给第二台

(3)在第二台上便可查到第一台服务器上生成的密钥

(4)在第二台服务器上免密登陆

[root@localhost ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.66.130  netmask 255.255.255.0  broadcast 192.168.66.255
        inet6 fe80::bb1a:d4a6:f771:f9ae  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::bf52:5cf1:dea4:766f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:b0:26  txqueuelen 1000  (Ethernet)
        RX packets 6456  bytes 8533393 (8.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2731  bytes 188566 (184.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.154.132  netmask 255.255.255.0  broadcast 192.168.154.255
        inet6 fe80::69fd:1401:7d5a:b84d  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::5fdf:2b56:5c54:281a  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:4e:b0:30  txqueuelen 1000  (Ethernet)
        RX packets 1017  bytes 137165 (133.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 479  bytes 85203 (83.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 115  bytes 16868 (16.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 115  bytes 16868 (16.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:ef:33:21  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


2.设置只允许student1, student2用户登录

AllowUsers user1 user2    #登录白名单(默认没有这个配置,需要自己手动添加),允许远程登录的用户。如果名单中没有的用户,则提示拒绝登录

(1)首先需要床创建student1,student2两个用户

 (2)在文件/etc/ssh/sshd_config设置白名单

(3)配置完成后需要重启ssh服务

(4)验证是否是只允许student1和student2用户登陆

[student2@root root]$ ssh root@192.168.38.130
The authenticity of host '192.168.38.130 (192.168.38.130)' can't be established.
ECDSA key fingerprint is SHA256:ZZjkzKAVZ4iW4fvCD2fNjJ/GdZqTUuvoxRBnabrmXVg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.38.130' (ECDSA) to the list of known hosts.
root@192.168.38.130's password: 
Activate the web console with: systemctl enable --now cockpit.socket
 
This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register
 
Last login: Sun Jul 24 20:34:54 2022 from 192.168.38.128
[root@root ~]#
[root@root ~]# su student1
[student1@root root]$ ssh root@192.168.38.130
The authenticity of host '192.168.38.130 (192.168.38.130)' can't be established.
ECDSA key fingerprint is SHA256:ZZjkzKAVZ4iW4fvCD2fNjJ/GdZqTUuvoxRBnabrmXVg.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.38.130' (ECDSA) to the list of known hosts.
root@192.168.38.130's password: 
Activate the web console with: systemctl enable --now cockpit.socket
 
This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
To register this system, run: insights-client --register
 
Last login: Sun Jul 24 20:51:48 2022 from 192.168.38.130
[root@root ~]#
[root@root ~]# su rhcsa
[rhcsa@root root]$ ssh root@192.168.38.130
root@192.168.38.130's password: 
Permission denied, please try again.
root@192.168.38.130's password: 
Permission denied, please try again.
root@192.168.38.130's password: 
root@192.168.38.130: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
[rhcsa@root root]$ 


3.get和post的区别

(1)表现形式上:GET可以被缓存,POST不会

     GET安全性比较差,POST比较好

     GET在浏览器回退时是无害的,而POST会再次提交请求

     GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留
(2)功能上:get是从服务器获取数据,而post是向服务器发送数据
(3)长度上:get发送数据时,个体、向URL添加数据,而URL长度是有限的,因此get长度  有限, 而post长度无限制。
 

4.HTTP状态码,常用的状态码有哪些?

状态代码:由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。
1xx:指示信息 —— 表示请求已接收,继续处理
2xx:成功 —— 表示请求已被成功接收、理解、接受
3xx:重定向 —— 要完成请求必须进行更进一步的操作
4xx:客户端错误 —— 请求有语法错误或请求无法实现
5xx:服务器端错误 —— 服务器未能实现合法的请求
常见状态代码、状态描述的说明如下:
200 OK:客户端请求成功
400 Bad Request:客户端请求有语法错误,不能被服务器所理解
401 Unauthorized:请求未经授权,这个状态代码必须和 WWW-Authenticate 报头域一起使用
403 Forbidden:服务器收到请求,但是拒绝提供服务
404 Not Found:请求资源不存在,举个例子:输入了错误的URL
500 Internal Server Error:服务器发生不可预期的错误
503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常

5.HTTP请求报文和响应报文

http请求报文由请求行、请求头部、空行和请求报文主体几个部分组成

http响应报文由起始行、响应头部、空行和响应报文主体这几个部分组成

 


6.HTTP是如何保持连接状态

cookie+session实现

cookie:

       Cookie是由服务器端生成,发送给浏览器,浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时自动发送该Cookie给服务器

Cookie可以用来在某个WEB站点会话间持久的保持状态

session:

       Session是另一种记录客户状态的机制,基于Cookie实现,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上,这就是Session,客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。 

         通过cookie和session的了解,我们可以看出Cookie的本质就是文件,一般放在请求头里,保存在浏览器上。

      由于cookie并不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session。

并且session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie。

所以综合考量我们通常使用cookie+session共同完成状态保持。具体实现如下图所示:

  

7、禁止管理员远程登陆

 (1)重启服务

 (2)查验是否禁止管路员用户登陆

本文含有隐藏内容,请 开通VIP 后查看