windows 通过ssh连接到Linux主机

article/2025/11/9 3:24:40

windows 通过ssh连接到Linux主机

文章目录

    • windows 通过ssh连接到Linux主机
      • 1.ssh的认识
      • 2.ssh的安全验证
      • 3.连接方法
      • 4.windows 通过ssh连接到Linux主机

1.ssh的认识

SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

  • 传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。这些服务程序很容易受到“中间人”这种方式的攻击。就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。通过使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了。
  • 使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。

2.ssh的安全验证

从客户端来看,SSH提供两种级别的安全验证。

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

3.连接方法

(1)远程主机收到用户的登录请求,把自己的公钥发给用户。
(2)用户使用这个公钥,将登录密码加密后,发送回来。
(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。那么也就是每次我们都要输入命令,ssh用公钥加密它,然后服务器会用密钥解密,得到口令,判断是否和服务器上存储的密码一致。——这也叫密钥登陆,

  • 为了避免每次都输出口令的麻烦,诞生了公钥加密方法-----也就是我们在一些git上看到的ssh连接方法:用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。这种方法要求用户必须提供自己的公钥

4.windows 通过ssh连接到Linux主机

  • 首先在Linux主机上打开中断,输入ssh,看是否有如下的界面
    在这里插入图片描述

  • 如果没有的话sudo apt-install openssh-server进行安装。

  • 在终端输入ifconfig,记住这个【inet】开头的服务器ip地址,记住这个@前面的名字,例如这里的optimization。此外要知道服务器的ip,用户名以及密码就可以了。
    在这里插入图片描述

  • 之后在windows上右键Git Bash Here,输入【ssh +服务器用户名@服务器ip】,回车后输入这个yes。在password后面输入【服务器用户名密码】,然后就会看到连接成功了,输入【ls】,就可以列出服务器上的文件了的。
    在这里插入图片描述
    在这里插入图片描述

  • 此时发现用户名已经改变,这样就可以操作Linux主机了。

  • 如果要断开连接输入exit即可断开连接。有时会出现下面的情况,从而无法断开连接
    在这里插入图片描述

  • 查找问题:
    这个提示表示服务器有程序被停止[注意,不是终止],需要你重新启动或者完全终止这个程序才可以。
    查看被停止的程序命令:
    输入 jobs
    系统显示: [1]+ Stopped bin/hive
    输入 jobs -l
    系统显示:[1]+ 5510 Stopped bin/hive
    原来,我开始编辑文本,习惯性按ctrl z停止它了。

  • 解决问题:
    根据个人情况,
    a.如果重新启动使用下面命令:
    fg %1
    其中%1表示第一个被停止的程序,就是中括号中的数字;
    b.如果要彻底结束程序,使用下面命令:
    kill %1
    这里的%1同fg命令一样,输入后,会有提示

这样,再次用logout、exit就可以退出了
在这里插入图片描述

异常处理参考:https://blog.csdn.net/allen_infosys/article/details/51152045


http://chatgpt.dhexx.cn/article/DxX54DrU.shtml

相关文章

Linux配置SSH连接方式

1. SSH介绍 1) 什么是SSH SSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全 2)SSH服务端和客户端 SSH服务端是一个守护进程,一遍为sshd进程,在后端运行并响应来自客户端的请求。…

Linux----SSH远程连接服务

一、SSH介绍 1、SSH介绍 SSH是一个应用层协议 实现Linux的远程加密连接 适用于Linux服务器远程管理 Telnet 远程连接、不加密 适用于局域网网络设备的远程连接 2、管理Linux服务器的方式 本地管理 安装系统、故障修复 远程管理(使用频率较高) 3…

如何通过ssh远程连接自己的主机(Linux)?

1.查看自己的网卡是否工作正常 可以看到,有多块网卡在工作,其中eno1是有线网卡,UP表示开启了,但没有运行(RUNNING),因为此时主机并没有连接有线网络。 lo是本地虚拟网卡,所有设备都…

通过SSH连接到Linux服务器

目录 前提: 一、通过账号密码方式进行ssh连接 二、通过免密方式进行ssh连接(公、私钥校验) 三、通过第三方工具(XShell)免密方式进行ssh连接 前提: 传统的网络服务程序,如ftp,p…

Linux服务器的SSH连接使用

本文已同步至个人博客: liaosis blog----Linux服务器的SSH连接使用 一.什么是SSH? 简单说,SSH(Secure Shell)是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,…

【SpringBoot】| 邮箱发送验证码,你会了吗?

目录 🦁 题外话🦁 提前准备2.1 配置邮箱第三方登录2.1.1 点击设置——账户2.1.2 开启POP3/SMTP服务 2.2 添加依赖2.3 yaml配置 🦁 进入主题🦁 测试使用🦁 尾声3.1 安利一个生成验证码的工具类3.1.1 添加依赖3.1.2 编写…

发送验证码倒计时效果实现

目录 前言一、应用场景二、代码演示三、 效果演示总结 前言 今天用vueuse/core中提供的一个方法,实现发送验证码时倒计时的一个效果。这样的场景使我们经常会见到的,一起来看一下如何实现 一、应用场景 用户选择手机号和验证码登录的时候,往…

阿里云短信服务——短信发送验证码

引言 短信服务现在在很多地方都用的到,我们最多接触到的可能就是验证码的发送了;现在很多大厂都提供由短信服务对应的api,直接调用就可以轻松实现短信发送;下面我以阿里云为例,演示一下如何短信发送验证码&#xff1b…

实战总结:邮箱发送验证码

java邮箱发送验证码 目前项目中需要同时支持短信和邮箱验证,短信用的是腾讯云就不多说了,在此分享一下邮箱验证码发送。 首先,作为发送邮箱,需要开启POP3/SMTP/IMAP,登录邮箱–设置–账户–开启POP3/SMTP/IMAP&#x…

SpringBoot整合邮箱发送验证码

1、以QQ邮箱为例&#xff0c;点开设置开启POP3/SMTP服务 2、创建一个springboot项目 1&#xff09;引入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependen…

Vue3发送验证码-防止页面刷新-发送验证码状态改变

效果: 1.页面DOM <div v-show"state.sendAuthCode" click"getCode">发送验证码</div> <div v-show"!state.sendAuthCode" ><span class"auth_text_blue">{{state.second}} </span>s</div>2. 业务…

C#实现手机发送验证码

目录 具体实现——封装一个类里&#xff0c;U层直接调用 配置文件的内容如下 验证手机号的正则表达式 首先先需要注册第三方网站&#xff0c;给大家推荐一个网站互亿无线&#xff0c;注册了之后每个用户可以免费发送50条短信。 下面以C#实现手机发送验证码为例。基本思路是本地…

uniapp 发送验证码倒计时

实现原理&#xff0c;点击发送验证码按钮&#xff0c;开始倒计时效果 准备工作 &#xff1a;在data中定义变量 ​​​​​​​ 点击事件 let timerId setInterval(() > {this.countDown--;this.sendText this.countDown "秒后重试";if (this.countDown < 0)…

html给手机号发送验证码,js如何实现手机发送验证码功能

js如何实现手机发送验证码功能 发布时间:2021-06-21 12:24:46 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关js如何实现手机发送验证码功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 效果图: 代码如下:html&g…

Python发送验证码短信

Python发送验证码短信 前提条件相关介绍实验环境发送验证码短信账户注册查看用户名查看密码主要步骤代码实现输出结果 前提条件 熟悉Python基本语法 相关介绍 Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被…

html如何发送验证码到手机,页面效果,给手机发送验证码

html>定时发送验证码 var wait 5; function send(o) { if(wait5){ //向服务器发送请求&#xff0c;给手机发送验证码 // $.post("/simple/user/sendCode/mobile", // { // "mobile" : "${user.mobile}", // "number" : 2 // }, …

实现发送验证码功能

// 需求一&#xff1a;发送验证码// 用户点击之后&#xff0c;显示05秒后重新获取// 时间到了&#xff0c;自动改为重新获取let code document.querySelector(.code)code.addEventListener(click, function () {this.innerHTML 05秒后重新获取let mark 5let time setInterva…

发送验证码倒计时

点击发送验证码按钮的时候 会调用ajax请求发送验证码 但是 如果没有设置倒计时 如果一直重复点击按钮的话 会一直请求发送验证码 所以我们要设置一个验证码倒计时 <input id"sendCodeId" type"button" class"btn btn-danger" click"sen…

微信小程序发送验证码

记录一下&#xff0c;小程序发送验证码的小案例。废话不多说&#xff0c;直接撸代码。。。 1、效果图如下 wxml: <view classheader> <input typenumber placeholder请输入手机号 bindinputmInput></input> </view> <view classnav> <v…

Javascript发送验证码

一、请求原理 由于现在网站的都有手机登陆或注册&#xff0c;向制定地址发送一个post活get请求&#xff0c;那么我们利用这一思路&#xff0c;就可以在本地上利用Ajax来模拟网站的登陆注册操作&#xff0c;从而实现向发送验证码。 二、获取第三方网站验证码接口 随便找一个带验…