使用xshell+ssh用于管理linux服务器,大概是目前最为流行的方式。

这个工具和技术涉及到:

  • 计算机网络
  • 加密解密

虽然不是专门的系统工程师,但还是相对频繁使用这套工具,有时候难免遇到一些不知道的问题,不得不东翻西找,很是烦人,所以计划一次性解决这些烦人的问题。

注:这里的内容,我相信某些书籍一定有阐述

在正式开始前,先阅读一些文章。

1.ssh的基本原理和操作和linux一些问题

原理-https://www.cnblogs.com/diffx/p/9553587.html

centos-pam  https://blog.csdn.net/weixin_42298128/article/details/115736849

ssh无密码登录 - https://www.cnblogs.com/feshfans/p/9307407.html

2.ssh的服务端配置

主要是禁止密码登录

修改sshd_config

PermitRootLogin no
   PasswordAuthentication no

PubkeyAuthentication yes

AuthorizedKeysFile    .ssh/authorized_keys

#有待确认

GSSAPIAuthentication no

客户端生成rsa公匙和私有钥匙,并把公匙存到服务器的authorized_keys

有多种工具都可以支持,既有winddows自带的,也可以使用xshell带的.

ssh-keygen -t rsa -C “835570372@qq.com”

在这个过程中,可以指定文件名称,避免覆盖存在的文件。

注意:ssh支持四种key:rsa,dsa,ecdsa,ed25519

3.ssh的高级应用

使用windows(10/11)自带的ssh/sftp工具登录linux(免密)

a.首先还是需要按照第2点那样交换key

b,windows首次通过ssh登录的时候,会下载centos上/etc/ssh/ssh_host_ecdsa_key.pub,并加入到本地用户的.ssh/known_hosts

格式大概是这样的:

180.102.19.91 ecdsa-sha2-nistp256 AAAAE2VjZHN还有很多省略了

自带的虽然不是很好用,但是临时对付几个服务器还是可以的。

重置服务端的/etc/ssh下的多个key

有两种方式:

a.删除,并重启sshd服务,自动生成

b.手动使用ssh-keygen生成,例如(https://blog.51cto.com/lidaxia/1922826)

ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_root_rsa_key
ssh-keygen -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -b 256 -f /etc/ssh/ssh_host_ed25519_key

注意,橙色部分文件名称要和sshd_config中对应配置一致即可。

例如下面就是sshd_config中指定的key

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key

4.开发ssh客户端

这里需要用到前面用到的GSSAPI

比较专业,网上有不少教程。这里略。

xshell+ssh+网络+加密的更多相关文章

  1. xshell ssh 上传文件

    一.通过xshell  ssh 上传文件 [lxk@localhost ~]$ yum install lrzsz 安装 [lxk@localhost ~]$ rz 上传文件

  2. (第三篇)SSH网络协议概述

    ssh简介原理 windows远程登录,QQ远程协助修电脑 简单说,SSH是一种网络协议,用于计算机之间的加密登录.最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑.1995年,芬兰学者 ...

  3. 利用SSH隧道加密技术隐蔽C&C通信流量

    在网络攻防博弈中,网络流量特征分析类安全防御措施得到了广泛应用.众多厂商和企业对网络流量进行恶意流量分析检测,从而针对性的采取防御措施,如各级ISP在骨干网络设备上大多采用网络流量分析检测的防御方案. ...

  4. Java实现SSH模式加密原理及代码

    一.SSH加密原理 SSH是先通过非对称加密告诉服务端一个对称加密口令,然后进行验证用户名和密码的时候,使用双方已经知道的加密口令进行加密和解密,见下图: 解释:SSH中为什么要使用非对称加密,又使用 ...

  5. shell,bash,git bash,xshell,ssh

    一:shell是linux/unix系统的外壳,也可以理解为命令行接口,就是你输入并执行命令行的地方.bash(born again shell)是shell的一种,最常用的shell之一.你在你的l ...

  6. HTTPS为什么更安全,先看这些 , 网络加密 , 加密解密

    投递人 itwriter 发布于 2017-02-27 21:35 评论(10) 有1957人阅读 原文链接 [收藏] « » HTTPS 是建立在密码学基础之上的一种安全通信协议,严格来说是基于 H ...

  7. 浅谈远程登录时,ssh的加密原理

    SSH:Secure Shell,是一种网络安全协议,主要用于登录远程计算机的加密过程. 登录方式主要有两种: 1.基于用户密码的登录方式:   加密原理:   当服务器知道用户请求登录时,服务器会把 ...

  8. xshell ssh连接linux时提示ssh服务器拒绝了密码

    用Xshell root连接时显示ssh服务器拒绝了密码,应该是应该是sshd的设置不允许root用户用密码远程登录 修改 /etc/ssh/sshd_config文件,注意,安装了openssh才会 ...

  9. linux 配置SSH网络传输数据安全方案,JDK,Tomcat和Eclipes

    一.通过ssh实现安全远程访问linux系统 ssh :secure shell 加密: 1. 对称加密 (加密密钥与解密密钥相同) des .aes 2. 非对称加密(加密密钥与解密密钥不同) RS ...

  10. xshell SSH 连接出现 outgoing encryption ,或者no matching host key algorithm found错误的解决

    首先看看xshell的使用版本,如果是xshell 4,提示的信息为:no matching host key algorithm found 如果是xshell 5,提示的是: outgoing e ...

随机推荐

  1. 在 UOS 统信运行 dotnet 程序提示没有通过系统安全验证无法运行

    本文记录 dotnet 应用程序在 UOS 统信系统上运行时,提示 没有通过系统安全验证,无法运行 的问题 这个问题是因为没有开启 UOS 统信的开发者模式,直接将自己构建完成的包放上去跑导致的问题 ...

  2. RTThread 重定义rt_hw_console_output函数

    在学习单片机时,我们会经常使用printf函数进行信息输出,方便调试程序,而学习RT-Thread时也会经常使用rt_kprintf函数进行信息输出,所以在移植完RT-Thread时,我们首先需要定义 ...

  3. linux系统共享文件夹到局域网

    python3 -m http.server https://blog.csdn.net/a772304419/article/details/113338103 Debian下配置Samba服务器 ...

  4. keepalived(3)- keepalived+nginx实现WEB负载均衡高可用集群

    目录 1. keepalived+nginx实现WEB负载均衡高可用集群 1.1 需求和环境描述 1.2 WEB集群部署 1.3 负载均衡集群部署 1.4 keepalived部署 1.5 测试监控的 ...

  5. 使用SQL Server语句统计某年龄段人数占总人数的比例(多层查询语句嵌套-比例分析)

    需求:需统计出某个集合内,某个段所占的比例,涉及SELECT查询语句的嵌套,如有疑问可留言. 如下: --按性别进行年度挂号年龄段分析--男SELECT 年龄段,SUM(人数) 数量,cast(cas ...

  6. get pull报错 Please commit your changes or stash them before you merge

    当本地分支和远程修改了同一个文件代码,pull远程分支的代码的时候会出现文件冲突 出现这个错误 Please commit your changes or stash them before you ...

  7. vue3组件封装

    1.父组件调用子组件属性和方法 父组件中template写法: <role-modal ref="myRoleModal" @OK="roleModalOK&quo ...

  8. createRange表示文档中的一个范围——用于js判断文字添加省略号情况

    document.createRange() 是 JavaScript 中的一个方法,用于创建一个 Range 对象,表示文档中的一个范围.Range 对象通常用于选择文档中的一部分内容,然后对其进行 ...

  9. 【PB案例学习笔记】-01创建应用、窗口与控件

    写在前面 这是PB案例学习笔记系列文章的第一篇,也是最基础的一篇.后续文章中[创建程序基本框架]部分操作都跟这篇文章一样, 将不再重复.该系列文章是针对具有一定PB基础的读者,通过一个个由浅入深的编程 ...

  10. 推荐一款微信公众平台Python开发神器!

    1.引言 在当今数字化时代,微信公众平台成为了企业和个人连接用户的重要渠道.为了高效地管理和与用户互动,开发者需要一个强大而灵活的工具. Weixin-Python 正是这样一个为微信公众平台量身打造 ...