当前位置: 首页 > news >正文

远程连接服务器

1、远程连接服务器简介 ssh secure shell

非对称加密:一对公钥私钥
对称加密:加密和解密使用的是同一把密钥;(同一秘钥既可以进行加密也可以进行解密  )优势:使用一个秘钥它的加密效率高一些(快一些)      缺陷:秘钥传输的安全性(在网络传输中不传输秘钥)      应用: 传输数据(数据的双向传输)公钥(public key):提供给远程主机进行数据加密的行为,所有人都可获得你的公钥来将数据加密。
私钥(private key):远程主机使用你的公钥加密的数据,在本地端就能够使用私钥来进行解密。私钥只有自己拥有。

2、连接加密技术简介

目前常见的网络数据包加密技术通常是通过“非对称密钥系统”来处理的。主要通过两把不一样的公钥与私钥来进行加密与解密的过程 。

密钥生成:
systemctl restart sshd

2.1.会话密钥生成

1.客户端需要使用适当的客户端程序来请求连接服务器,服务器将服务器的公钥发送给客户端。
2.服务器生成会话ID,并将会话ID发给客户端。
3.若客户端第一次连接到此服务器,则会将服务器的公钥数据记录到客户端的用户主目录内的~/.ssh/known_hosts。若是已经记录过该服务器的公钥数据,则客户端会去比对此次接收到的与之前的记录是否有差异。客户端生成会话密钥,并用服务器的公钥密后,发送给服务器。
4.服务器用自己的私钥将收到的数据解密,或的会话密钥
5.服务器和客户着都知道了会话密钥,以后的传输都将被会话密钥加密。

2.2.SSH工作过程

在整个通讯过程中,为实现SSH的安全连接,服务端与客户端要经历如下五个阶段:版本号协商阶段、密钥和算法协商阶段、认证阶段、会话请求阶段、交互会话阶段。

3、ssh服务配置

#ssh服务安装包openssh-server
[root@server1 ~]# vim /etc/ssh/sshd_config
#Port 22 #监听端口,默认监听22端口
#AddressFamily any #IPV4和IPV6协议家族用哪个,any表示二者均有
#ListenAddress 0.0.0.0 #指明监控的地址,0.0.0.0表示本机的所有地址HostKey /etc/ssh/ssh_host_rsa_key # rsa私钥认证AllowUsers user1 user2 #允许远程登录的用户。

4、用户登录ssh服务器

实验1:修改ssh服务的端口号
#修改ssh服务的端口号
[root@server1 ~]# vim /etc/ssh/sshd_config
Port 2222
[root@server1 ~]# systemctl disable firewalld  --now (现在立刻马上关闭)
[root@server1 ~]# setenforce  0   --- 允许登录
若selinux的状态为enforcing,会限制使用文件和端口;
如果不调成permissive状态,后面修改了端口号之后,关闭之后就不好登录了
[root@server1 ~]# getenforce
Permissive
[root@server1 ~]# systemctl restart sshd
[root@server1 ~]# systemctl restart nginx  = nginx
关闭nginx:killall nginx
强制关闭:kill -9 进程号
实验2:拒绝root用户远程登陆
#请保持服务器上至少有一个可以远程登陆的普通远程账号
#修改配置文件如下:
vim /etc/ssh/sshd_config
#打开该选项并修改参数为no
PermitRootLogin no
#重启服务后生效,使用时使用普通用户进行登陆,需要使用root用户时再切换
注意:有些可能打开文件的时候,是PermitRootLogin prohibit-password,也是一样的操作,直接修改就好,但是文件里面最上面的Include /etc/ssh/sshd_config.d/*.conf,这一个文件里面是最优先执行的,所以这里面也要修改!!!
实验3:允许特定用户ssh登陆,其他用户都无法登陆
#编辑配置文件,在最后添加如下内容:
AllowUsers USERNAME
#USERNAME为你允许登陆的、账号【需要在系统中useradd该账号】,如果是多个用户,中间用空格隔开
#重启ssh服务后生效
实验4:linux客户端通过秘钥登录linux服务端root用户
#创建密钥对
[root@web ~]# ssh-keygen -t rsa
ssh-keygen 生成、管理和转换认证密钥 -t制定算法类型 RSA
/root/.ssh/id_rsa  ---- 私钥文件,该文件的所属这才有权限读取
/root/.ssh/id_rsa.pub  --- 公钥文件,所有认可读取
-f:指定存储路径
-N:例如:-N ""---指定密码为空
#复制该公钥文件到服务端的该目录下
[root@web ~]# ssh-copy-id root@192.168.177.129
#在本地服务器上登陆对端服务器
[root@web ~]# ssh root@192.168.40.132

http://www.lryc.cn/news/486420.html

相关文章:

  • 【分布式技术】ES扩展知识-Elasticsearch分词器的知识与选择
  • 【网络安全 | 漏洞挖掘】通过密码重置污染实现账户接管
  • 【Nginx从入门到精通】01 、教程简介
  • MySQL面试之底层架构与库表设计
  • C2 追踪器:监控指挥与控制的重要性
  • 二、神经网络基础与搭建
  • java导出pdf
  • muduo之线程同步CountDownLatch
  • 【Python系列】Python中打印详细堆栈信息的技巧
  • SpringBoot中监听器、过滤器、拦截器和AOP详解
  • 如何让手机ip变成动态
  • [Qt platform plugin问题] Could not load the Qt platform plugin “xcb“
  • 嵌入式开发人员如何选择合适的开源前端框架进行Web开发
  • MySQL数据库(七)----查询相关操作(子查询)
  • 01_Spring开胃菜
  • SpringBoot使用AspectJ的@Around注解实现AOP全局记录接口:请求日志、响应日志、异常日志
  • WPF下播放Rtmp的解决方案
  • 7.高可用集群架构Keepalived双主热备原理
  • 为以人工智能为中心的工作负载重新设计的全局控制台
  • go channel中的 close注意事项 range取数据
  • Vue3 -- 项目配置之eslint【企业级项目配置保姆级教程1】
  • 鸿蒙开发应用权限管理
  • 【数据库】如何保证数据库迁移过程中数据的一致性?
  • C++之内存管理
  • ISP是什么?
  • 机房动环境监控用各种列表已经淘汰了,现在都是可视化图表展示了
  • RHCE的练习(12)
  • uniapp自动注册机制:easycom
  • 【论文阅读】(Security) Assertions by Large Language Models
  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则