windows 通过ssh连接到Linux主机

2023-10-26

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

windows 通过ssh连接到Linux主机 的相关文章

随机推荐

  • java将图片转为base64后出现的一些问题

    因为需要对接第三方接口 需要将图片转换为base64编码传参 手动转换base64使用postman完全是OK的 结果java中转换出来死活不行 p 将文件转成base64 字符串 p param path 文件路径 return thro
  • Linux下ps命令实现

    include
  • 思科实验-生成树协议STP

    生成树协议 英语 Spanning Tree Protocol STP 是一种工作在OSI网络模型中的第二层 数据链路层 的通信协议 基本应用是防止交换机冗余链路产生的环路 用于确保以太网中无环路的逻辑拓扑结构 从而避免了广播风暴 大量占用
  • vivado2021.1安装

    首先需要在官网注册一个账号 安装软件时需要使用 账号注册连接 xilink账号注册 vivado下载链接 xilink官网下载 使用官网下载需要注册账号 下载免费 vivado阿里云盘下载 vivado licence阿里云盘下载 官网下载
  • QStringLiteral(str)

    在看项目代码的时候 总会看到下面这种情况 QString str QStringLiteral 123rt QString用QStringLiteral str 来初始化 有点好奇 就查了下 记录一下 这是用QStringLiteral初始
  • Java:记录一下第一次面试经历(新希望六和)

    记录一下本菜鸡两个月前第一次面试新希望六合这家公司 那时的我很多都回答不上来 非常尴尬 不过这第一次面试经历也算是给足了我动力继续努力 记录一下这个第一次面试的题目 也算是记录一下那时候的我 做过什么样的项目 简单介绍一下你的项目 项目的整
  • 客户端请求的端口号是什么?

    我们知道服务器端是要指定和开放端口号的 比如 web 服务 http 请求的 80 https 的 443 端口 都要开放 否则无法请求成功 我们知道通信是由两端组成的 既然服务器需要指定端口 那么客户端呢 比方说我用 chrome 浏览器
  • 模型微调技术

    模型微调 一 迁移学习中的常见技巧 微调 fine tuning 1 1 概念 1 2 步骤 1 3 训练 1 4 实现 一 迁移学习中的常见技巧 微调 fine tuning 1 1 概念 将在大数据集上训练得到的weights作为特定任
  • java常用第三方类库

    几乎每个程序员都知道要 避免重复发明轮子 的道理 尽可能使用那些优秀的第三方框架或库 但当真正进入开发 时 我却经常发现他们有时并不知道那些轮子在哪里 最近 我在业余时间带几个年轻的程序员一起做了一个很小的商业项目 而在一起开发的过程中 我
  • Java使用Collections.reverse()反转一个List

    public class Demo public static void main String args ArrayList
  • 2023年CPU&GPU天梯图(最新版)

    在当今计算机世界 CPU GPU和显卡的性能成为了衡量计算机性能的重要指标 今天深入了解CPU GPU和显卡天梯图 首先 CPU作为计算机的大脑 负责处理各种任务 它的性能主要由核心数 主频和缓存大小决定 其中 核心数和主频决定了CPU的处
  • 我的2016--"狗血"

    偶然看到了CSDN的 我的2016 主题征文活动 突然感慨一番 今年又快结束了 而我这一年的经历 可以浓缩为两个字 狗血 然而 我能用上如此不羁的词汇 并未能掩盖我木讷的内心 这才真的是狗血 感觉像在梦游 走了好远的路 一睁开眼睛却还在原地
  • Qt5和Qt6在线安装的问题

    在线安装我的梯子怎么都安装不快 如果只是时间长也行啊 但是经常蹦出来一个 下载xxx无响应 你还得去盯着它 不然就给你自动退出了 着实有些烦人 得下载14个小时 有一个方法是更换镜像源 也就是 在cmd命令行如下执行 qt unified
  • 第一个CUDA程序-addVector

    本文主要通过对两个浮点数组中的数据进行相加 并将其结果放入第三个数组中 其算法分别在CPU GPU上分别执行 并比较了所需时间 强烈感受到GPU的并行计算能力 这里 每个数组的元素大小为30000000个 一 实现代码 cpp view p
  • 对比学习simSiam(一)--Exploring Simple Siamese Representation Learning总体理解

    1 从名字上把握 sim是我们熟知的相似的那个单词 这个Siam是孪生的意思 这里使用这个来命名应该是为了指出孪生的重要性 这里的核心其实是在提出一个思想 对比学习这种由孪生网络结构构成的无监督学习的关键其实是孪生网络 两个网络有其中一方停
  • PyQt入门(8)-常用控件(下)

    目录 1 QListWidget 2 QTreeWidget 3 QTableWidget 1 QListWidget QListWidget是一个QListView的便捷类 提供一个列表视图 大数据量的情况下QListView确实更加灵活
  • Java 第一个程序 HelloWorld

    目录 1 常用 DOS 命令 2 Path 环境变量的配置 3 HelloWorld 编写和执行 4 HelloWorld 详解 1 常用 DOS 命令 在接触集成开发环境之前 我们需要使用命令行窗口对 Java 程序进行编译和运行 所以需
  • LeetCode每日一题2021.11.21—12.01

    2021 11 21 559 N叉树的最大深度 题目 思路 深度遍历 广度优先遍历 每次出队要把队列所有的元素拿出来 代码 Definition for a Node class Node public int val vector
  • 常用的C语言学习网站

    1 C语言网 C语言网 www dotcpp com 不仅提供C语言 还包括C java 算法与数据结构等课程在内的各种入门教程 视频录像 编程经验 编译器教程及软件下载 题解博客 源码分享等优质资源 提倡边学边练边分享 同时提供对口的IT
  • windows 通过ssh连接到Linux主机

    windows 通过ssh连接到Linux主机 文章目录 windows 通过ssh连接到Linux主机 1 ssh的认识 2 ssh的安全验证 3 连接方法 4 windows 通过ssh连接到Linux主机 1 ssh的认识 SSH 为