ssh远程连接服务

news2024/11/13 16:06:00

1、概述

一种安全访问远程服务器的协议,远程管理工具,通过加密方式管理连接,使服务器更安全。

2、加密算法

对称加密

发送密码前将密码数据加密成密文,然后发送出去

接收方收到密文后,使用同一个密钥将密文解密。

总结

用同一个密钥加密和解密数据。发送之前加密,收到数据后用同一个密文进行解密

非对称加密

一对有相互关系的密钥对。公钥和私钥,由接收方生成。加密使用公钥,解密使用私钥。

1.发送方使用接收方发过来的公钥加密数据

2.接收方使用本地私钥解密数据。

对称加密与非对称加密的区别

对称加密:同一个密钥,容易泄露,优点是,加密速度快,效率高。

非对称加密:使用公钥和私钥加密,数据传输速度慢,安全性高

ssh原理

基于用户名密码认证

1.客户端发送登录请求

2.服务端发送公钥给客户端

第一次访问的时候需要确认公钥,把保存公钥用于下次访问,下次不用确认,直接输入密码

3.客户端用公钥加密输入的密码,发送到服务端

4.服务端用私钥解密,和/etc/shadow对比

5.验证成功,服务器发送一个随机会话口令给客户端,用于数据加密

ssh基于密钥对认证

1.客户端生成密钥对,公钥发送到服务端并保存authorized_keys

2.客户端发送登录请求,服务器端对公钥是否一致。

3.服务器生成随机字符串用公钥加密,发送到客户端。

4.客户端用私钥解密,然后发送给服务端

5.服务器验证字符串,一致则返回登录结果

ssh远程登录两种认证方式

基于用户密码认证

基于密钥对的认证(免密码)

1.用户身份认证都使用非对称加密算法(安全)

2.数据传输使用对称加密算法(快)

3.基于密码认证需要知道密码,基于密钥对认证需要提前拷贝用户的公钥到服务器

环境准备

准备两台虚拟机,ip地址设置为静态,一台是客户端,一台是服务器

1.基础配置

  • 配置网卡vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • 修改主机名
  • 关闭防火墙
  • 关闭selinux
  • 配置yum源
  • 安装openssh服务 yum install openssh -y
  • 启动sshd服务

基于用户密码的认证

ssh root@192.168.88.131 -p22

指定用户root,ip:192.168.88.131,指定端口-p:22

登录成功会在/root/.ssh/目录下生成known_hosts文件,保存SSH服务器公钥信息。

ssh服务端配置文件

位置:/etc/ssh/sshd_config

主要参数解释

PasswordAuthentication   

是否允许密码验证yes允许,no不允许
Portssh连接端口,默认22
AuthorizedKeysFile认证文件,~/.ssh/authorized_keys
UseDNS是否开启ssh登录时的DNS解析

scp拷贝

通过ssh协议拷贝客户端的文件到远程ssh服务器,也可以拷贝ssh服务器到本地

功能:linux系统之间进行上传和下载

1.上传

选项:

-r:递归上传,主要针对目录

-p:更改ssh服务的默认端口

上传文件

scp  /etc/passwd  root@192.168.10.13:/tmp/

指定端口加-P选项

下载文件

scp  root@192.168.10.13:/tmp/test  /tmp/

 上传文件先写本文件路径,再下服务器ip地址:远程文件存储路径

ssh免密登录

免密登录可以方便进行远程登录和文件传输,同时提高安全性

实现免密登录的步骤

  1. 在客户端针对某个账号,如root账号,生成公钥和私钥
  2. 把公钥发送到服务器,在服务器把公钥追加到authorized_keys文件中
  3. 测试是否实现免密登录

第一步,生成密钥对

ssh-keygen

ls  .ssh/

第二步,发送公钥到服务端

ssh-copy-id, root@192.168.88.131

公钥文件在~/.ssh/authorized_keys文件中

第三步:测试免密登录

提示:

做了双机通信,不想让其他机器远程连接,可以修改配置文件/etc/ssh/sshd_config,关闭PasswordAuthentication no 重启服务,只有两台机器可以免密,其他机器不能连接

vmware中的三种网络

  1. 桥接网络:
  2. NAT网络
  3. 仅主机网络

桥接模式,VMnet0虚拟交换机,虚拟机是网络上一台独立计算机,独立ip

NAT网络,VMnet8虚拟交换机,通过主机访问网络其他工作站,其他不能访问虚拟机

仅主机网络VMnet1虚拟交换机,只能在虚拟机之间,主机互连,网上其他工作站不能访问。

1.vmnet0桥接模式

跟物理机同网段

桥接模式可以连接网络

2.VMnet1仅主机模式

与物理机不再同一个网段,有独立ip

仅可以进行内部连接

虚拟路由器,也可以访问外网

提示:物理机可以ping通虚拟机,虚拟机不能ping通物理机

3.VMnet8 NAT模式

独立网络环境,与物理机不再同一个网段,可通过虚拟网络路由器连接外网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2092513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于爬山法MPPT和PI的直驱式永磁同步风力发电机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 PMSM 4.2 MPPT 4.3 PI 控制器原理 5.完整工程文件 1.课题概述 基于爬山法最大功率点跟踪 (Maximum Power Point Tracking, MPPT) 和比例积分控制器 (Proportional Integral, PI) 的直驱式永磁同步…

《软件工程导论》(第6版)第5章 总体设计 复习笔记

第5章 总体设计 一、总体设计概念 1.定义 总体设计的基本目的就是回答“系统应该如何实现”这个问题,总体设计又称为概要设计或初步设计。 2.主要任务 (1)划分出组成系统的物理元素程序、文件、数据库、人工过程…

大模型种草书籍——BERT基础教程:Transformer大模型实战,看完头皮发麻!

《BERT基础教程:Transformer大模型实战》 是一本专注于介绍自然语言处理(NLP)领域的先进技术——BERT(Bidirectional Encoder Representations from Transformers)及其应用的教程书籍。 以下是这本书的简要介绍&#…

C++:string类(1)

1.标准库中的string类 1.1 string类(了解) string类的文档介绍在使用string类时,必须包含#include头文件以及using namespace std; 1.2 auto和范围for auto关键字 用auto声明指针类型时,用auto和auto*没有任何区别,但用auto声明引用类型…

gdb 教程

文章目录 GDB启动 GDB 的方法GDB 命令工具参考 GDB GDB是Linux下的调试工具,可以调试C、C、Go、java等语言 GDB提供了以下四个功能: 程序启动时,可以按照自定义的要求运行程序,如设置参数和环境变量可以让被调试的程序在所指定…

Netflix Feign:微服务HTTP调用如何简化?

Netflix Feign:微服务HTTP调用如何简化? 1、什么是Netflix Feign?2、Feign的优点3、示例4、总结 💖The Begin💖点点关注,收藏不迷路💖 1、什么是Netflix Feign? Feign是一个声明式的…

MFC工控项目实例之十添加系统测试对话框

承接专栏《MFC工控项目实例之九选择下拉菜单主界面文本框显示菜单名》 参考前期我的博客文章《MFC3d立体按钮制作》 这里只给出相关代码 1、在SysTest.h文件中添加代码 #include "ShadeButtonST.h" #include "BtnST.h" class CSysTest : public CDialog {…

OpenAI“草莓”模型及全能型与专业型AI的思考

一、OpenAI“草莓”模型的全能性及其未来趋势 近日,OpenAI预计在秋季推出的代号为“草莓”的新AI模型,展现了其在自然语言处理(NLP)和深度学习领域的又一重大突破。该模型不仅增强了推理能力,还提供了更为人性化的互动…

穿越Java世界的继承奇旅:从基类到子类的华丽蜕变

1.为什么要继承 2.什么是继承以及继承的方式 3.继承的一些语法 4.父类成员的访问 5.关键字super 6.关键字protected 7.关键字final 8.继承与组合 一:为什么要继承 ①代码重用:继承允许我们重用、扩展或修改父类的属性和方法,而无需重…

<Rust>egui学习之小部件(四):如何在窗口中添加滚动条Scroll部件?

前言 本专栏是关于Rust的GUI库egui的部件讲解及应用实例分析,主要讲解egui的源代码、部件属性、如何应用。 环境配置 系统:windows 平台:visual studio code 语言:rust 库:egui、eframe 概述 本文是本专栏的第四篇博…

【C++ Primer Plus习题】7.10

问题: 解答: #include <iostream> using namespace std;double add(double a, double b) {return a b; }double mul(double a, double b) {return a * b; }double sub(double a, double b) {return a - b; }double div(double a, double b) {return a / b; }double cal…

[LLM]:大模型(Transformer)参数量分析

1. 前言2. 模型参数量 文章内容主要摘自&#xff1a;https://zhuanlan.zhihu.com/p/624740065 1. 前言 最近&#xff0c;OpenAI推出的ChatGPT展现出了卓越的性能&#xff0c;引发了大语言模型(Large Language Model, LLM)的研究热潮。大规模语言模型的“大”体现在两个方面&am…

Python编码系列—Python代码重构:提升代码质量

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

Leetcode面试经典150题-151.反转字符串中的单词

class Solution {public String reverseWords(String s) {/**先trim一下去掉前后的空格*/String str s.trim();/**转成字符数组 */char[] sArr str.toCharArray();/**先整体倒置*/int l 0;int r sArr.length - 1;reverse(sArr, l, r);/**然后每个单词中逆序 */int left 0;…

SAM 提示框和 Unet的语义分割的融合:自动驾驶车道线分割

1、前言 最近SAM 模型复现的多了&#xff0c;看了不少官方的源码&#xff0c;尝试下SAM和Unet的结合 SAM的提示分割&#xff0c;其实就是在分割的时候&#xff0c;为数据增加一个提示信息&#xff0c;可以是框&#xff0c;点&#xff0c;或者文本等等。这样大模型网络就可以根…

【Python】简单的爬虫抓取

效果&#xff1a;抓取某个学校网站的教授名录&#xff0c;并获取研究方向。 由于网站使用的都是明文&#xff0c;所以抓起来没什么难度&#xff0c;且平时访问量小&#xff0c;很值得用来练习。 代码如下&#xff0c;解释请见注释 import timeimport requests from bs4 impor…

RN开发问题

1、滚动项定位错误 ERROR Invariant Violation: scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, otherwise there is no way to know the location of offscreen indices or handle failures. 原因&#xff1a;已修复&#xff0c…

求一个使用C语言将重力加速度gx,gy,gz积分获取到速度的代码

&#x1f3c6;本文收录于《CSDN问答解惑-专业版》专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收…

完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (一) 依赖库编译、第三方库编译安装

目录 1 jetson-ffmpeg的编译安装与配置--用来做视频编码、视频解码 2 CV-CUDA库的编译安装与配置--用来做图像缩放、裁剪、色域转换 3 cuda cudnn TensorRT相关库的拷贝与配置 3.1将cuda cudnn TensorRT相关的头文件拷贝到工程中 3.2 将cuda cudnn TensorRT相关的库拷贝到…

docker实战基础一

一、docker安装 # step 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3: 更新并安装 Doc…