首页 > 其他分享 >【ssh】SSH连接远程主机的两种方式

【ssh】SSH连接远程主机的两种方式

时间:2023-06-25 18:23:16浏览次数:44  
标签:公钥 主机 Alice SSH 密钥 Bob ssh mod

一、基于用户名与密码连接

指令

ssh username@server_ip

  • 随后要求输入密码

加密流程

1️⃣ 在SSH连接建立过程中,客户端和服务器使用Diffie-Hellman密钥交换协议协商生成一个会话密钥。

Diffie-Hellman密钥交换协议
流程:

  • 参与者事先协商并共享两个参数,一个质数p和一个原根g。这些参数是公开的,可以被任何人知道。
  • 参与者Alice选择一个私密的随机数a,并计算公钥A = g^a mod p。
  • 参与者Bob选择一个私密的随机数b,并计算公钥B = g^b mod p。
  • Alice将公钥A发送给Bob。
  • Bob将公钥B发送给Alice。
  • Alice使用Bob发送的公钥B,计算共享密钥K = B^a mod p。
  • Bob使用Alice发送的公钥A,计算共享密钥K = A^b mod p。
  • 共享密钥:Alice和Bob现在都拥有相同的共享密钥K,这个密钥可以用于对称加密算法来加密通信。

可用性:
((g^a mod p)^b) mod p = ((g^b mod p)^a) mod p
安全性:
已知g, p, A时无法计算出a,同理无法计算出b,则无法计算出K

2️⃣ 数据传输过程中采用对称加密算法对数据进行加密解密

风险

可能受到中间人攻击,SSH连接建立时,所沟通的服务器未必是目标服务器。

二、基于公钥私钥连接

配置

ssh-keygen在本地生成ssh密钥对

将公钥文件内容复制到~/.ssh/authorized_keys文件的新一行

指令

ssh username@server_ip

直接连接

避免中间人攻击的原理

验证公钥以确保会话服务器为目标服务器

若公钥私钥保管不当,仍会存在安全问题。

标签:公钥,主机,Alice,SSH,密钥,Bob,ssh,mod
From: https://www.cnblogs.com/hsjia/p/17503586.html

相关文章

  • ssh-copy-id命令解析
    ssh-copy-id把本地主机的公钥复制到远程主机的authorized_keys文件上,给远程主机的用户主目录(home)和~/.ssh,和~/.ssh/authorized_keys设置合适的权限。把本地的ssh公钥文件安装到远程主机对应的账户下ssh-copy-id-i-i指定公钥文件id_rsa.pub和id_rsa。前者是你的公钥,后......
  • Tabby作为SSH工具使用简易教程
    ......
  • 【git】基于JGit通过ssh-url拉取指定commit-id的代码
    实现1️⃣pom依赖:<dependency><groupId>org.eclipse.jgit</groupId><artifactId>org.eclipse.jgit</artifactId><version>6.6.0.202305301015-r</version></dependency><dependency><group......
  • 不能成功配置ssh信任,提示Agent admitted failure to sign using the key.
    不能成功配置ssh信任,提示Agentadmittedfailuretosignusingthekey.问题现象:   做完信任之后要需要输密码:[[email protected]]$sshdb02Agentadmittedfailuretosignusingthekey.grid@db02'spassword:原因:   GNOME用户会在尝试通过SSH连接到GCE时......
  • 【已解决】XFTP 连接提示“SFTP 子系统申请已拒绝,请确保SSH连接的SFTP子系统设置有效
    一、报错信息报错:SFTP子系统申请已拒绝请确保SSH连接的SFTP子系统设置有效二、错误原因是ssh配置做了限制,修改一下配置文件就好了。三、解决方式修改 sshd_config 配置文件。vim/etc/ssh/sshd_config如果配置文件中不存在以下代码,找个位置添加上即可。Subsystemsft......
  • 查找容器网卡对应的宿主机veth
    dockerrun-dnginx:1.91.容器内查看网卡索引值dockerexec-it2740f92cat/sys/class/net/eth0/iflink2.根据网卡索引值查找系统网卡ipa|grep"7:"......
  • 【paramiko】基于paramiko封装SSH连接服务器执行命令
    1、官方文档paramiko·PyPIWelcometoParamiko’sdocumentation!—Paramikodocumentation 2、安装pipinstallparamiko 3、示例importparamiko#建立一个sshclient对象ssh=paramiko.SSHClient()#将信任的主机自动加入到host_allow列表,须放在connect......
  • 从linux免密码ssh登录到另外一个计算机
    一、从本地Linux做如下操作:  其中192.168.xx.xxx是远端的被登录的计算机1.进入.ssh目录: cd~/.ssh2.生成一对密钥: ssh-keygen-trsa3.发送公钥:    ssh-copy-id192.168.xx.xxx4.免密登录测试: ssh 192.168.xx.xxx 二、windows免密等Linux......
  • 基于SSH框架酒店管理系统
    一、需求分析1.1、系统管理 用户管理:对该系统的使用者即用户信息进行维护。 日志管理:为了系统的安全,对前台人员的导致业务数据更新的操作需要记录日志系统管理员可以定期查看和删除日志。 酒店人员权限管理:可对酒店各部门的员工进行权限的统一分配,以及更新操作。1.2、房客管理......
  • shell脚本,结合expect给当前网段所有主机分发任意文件
    1.安装expectyum-yinstallexpect2.root目录下创建iplist.txt文件(要分发的IP地址)192.168.100.129192.168.100.1303.root目录下创建user.txt(是服务器的密码)1234561234564.创建脚本test.sh,test.log(脚本后面不可以有注释的)#!/bin/bashecho"拷贝情况如下:">/root/test.log......