首页 > 其他分享 >SSH远程管理

SSH远程管理

时间:2023-01-02 09:33:26浏览次数:34  
标签:公钥 加密 默认 SSH 远程管理 服务端 客户端

一、SSH远程管理基础

1、什么是SSH服务器?

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程 复制等功能。SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH 为建立在应用层和传输层基础上的安全协议。对数据进行压缩,加快传输速度。

 

2、优点:

  • 数据传输是加密的,可以防止信息泄漏

  • 数据传输是压缩的,可以提高传输速度

 

3、SSH公钥传输原理

 

  • 客户端发起链接请求

  • 服务端返回自己的公钥,以及一个会话ID(这一步客户端得到服务端公钥)

  • 客户端生成密钥对

  • 客户端用自己的公钥异或会话ID,计算出一个值Res,并用服务端的公钥加密

  • 客户端发送加密值到服务端,服务端用私钥解密,得到Res

  • 服务端用解密后的值Res异或会话ID,计算出客户端的公钥(这一步服务端得到客户端公钥)

  • 最终:双方各自持有三个秘钥,分别为自己的一对公、私钥,以及对方的公钥,之后的所有通讯都会被加密

 

4、登录方法

ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port
命令 + 端口号

 

5、文件配置

vim /etc/ssh/sshd_config
#Port 22 生产建议22端口
#AddressFamily any 默认任何地址可访问
#ListenAddress 0.0.0.0 监听所有地址的ipv4地址
#SyslogFacility AUTHPRIV 默认日志位置输出到rsyslog服务的AUTHPRIV中
#Authentication  身份验证模块

#LoginGraceTime 2m          默认验证用户登录失败后等待时间为2秒
#PermitRootLogin yes        默认允许使用root账户登录
#MaxAuthTries 6            默认最多可以尝试连接失败6次
#MaxSessions 10           默认最大可连接10个会话
#PubkeyAuthentication yes      基于key验证默认为开启


  

 二、免密连接

1、免密连接原理


第一步:手动添加客户端的公钥到服务端

第二步:服务端收到客户端的公钥后使用客户端公钥加密一串随机字符串发送给客户端

第三步:客户端收到服务端发送的加密的随机字符串使用自己的私钥解密返回给服务端进行验证

第四步:服务端验证客户端发送来的随机字符串一致则同意建立连接

 

 

 

 将密钥发送给服务器

 

 

 验证免密登录

 

标签:公钥,加密,默认,SSH,远程管理,服务端,客户端
From: https://www.cnblogs.com/trist-commot/p/16991406.html

相关文章

  • Python ssh远程登录设备执行命令
    #-*-encoding:utf-8-*-"""@Time:2022/12/3010:10@Auth:ruqing@File:ssh_sonic.py@IDE:PyCharm@Motto:ABC(AlwaysBeCoding)"""importsys,loggingimporto......
  • 通过VB脚本自动连接SSH
    通过自己编码VB脚本,实现连接Linuxssh。脚本内容如下:1DimWshShell2SetWshShell=WScript.CreateObject("WScript.Shell")3WshShell.Run"cmd.exe"4WScript.Slee......
  • SSH框架详细整合(Spring4+HIbernate5+Maven)
    1,框架版本:JDK1.8 Spring-4.2.5.RELEASE  hibernate-5.0.8.Final  如果用的eclipse,在菜单window--preferences--General--Workspace--Textfileencoding......
  • 还在用 XShell - 试试 IntelliJ IDEA 的 SSH
    SSH是很多人用得不多,但是又不得不用的工具。如果你不是搞运维,没有必要搞个CRT,XShell也够用了,但是这2个都是收费软件,同时还不太便宜。试试IDEA的SSH其实Intelli......
  • Linux开启ssh并允许root登录(ubuntu、centos、kalilinux)
    1、Ubuntu开启ssh服务及允许root登录1)安装ssh服务器端Ubuntu默认没有安装ssh的server,需要安装apt-getinstallopenssh-serverssh客户端是默认安装的,连接其它ssh服......
  • CentOS7开启telnet服务端,配合进行ssh升级
    默认情况下,linux’操作系统我们都是通过ssh进行远程操作,开启telnet一般是在升级ssh的时候需要,开启telnet是为了防止升级ssh之后,无法通过ssh登录系统,可用telnet登录。1.......
  • linux修改ssh端口的二种方法
    平滑修改linux中的sshd端口第一种:1、假如要改SSH的默认端口(22),那么你只要修改:/etc/ssh/sshd_config中Port22这里把22改成自己要设的端口就行了,不过千万别设和现已有......
  • Error(15) 解决 sshd: no hostkeys available -- exiting.
     Error(15)解决sshd:nohostkeysavailable--exiting.(31条消息)Error(15)解决sshd:nohostkeysavailable--exiting._郑清的博客-CSDN博客执行sudoservi......
  • Termius:一款跨平台免费SSH客户端工具,支持WIN/MAC平台
    Termius官方版是一款相当实用的跨平台SSH工具。Termius官方版软件允许您将主机组织成组。组允许共享设置,但每个主机可以有自己的独立首选项。Termius最新版支持连同连接和......
  • 红队隧道应用篇之SSH端口转发突破内网(六)
    前言什么是SSH隧道SSH隧道是使用SSH协议连接两台计算机之间的通道。它使用密钥加密数据传输,并允许计算机之间的安全连接。通常,SSH隧道用于通过不安全的网络(例如互联网)连......