SSH代理基于Key免密码登录
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议,SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、PoP、甚至为PPP提供一个安全的通道。
1.ssh语法
ssh:远程执行命令后返回信息并退出-p port:远程服务器监听的端口-b:指定连接的源IP-v:调试模式-C:压缩方式-X: 支持x11(图形)转发-Y:支持信任x11转发ForwardX11Trusted yes-t: 强制伪tty分配
2.基于密钥的登录方式
1 首先在客户端生成一对密钥(ssh-keygen)
2 并将客户端的公钥ssh-copy-id 拷贝到服务端
3 当客户端再次发送一个连接请求,包括ip、用户名
4 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:acdf
5 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端
6 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端
7 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录
具体步骤:
1.准备环境:
centos8 ip:192.168.136.219 控制端
centos8 ip:192.168.136.145 受管端2.首先生成一对密钥
[root@master ~]# ssh-keygen -t rsa #t:加密算法
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):#密钥自动创建并且保存在.ssh下,ls-al查看:id_rsa id_rsa.pub known_hosts
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #输入密钥密码
Enter same passphrase again: #再次输入密钥密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:dIOwBUpEt5KxfZrRGXlxE9+Kh+/LqZXmPZaG1CYwgNg root@master
The key's randomart image is:
+---[RSA 3072]----+
| o= *.+...+. |
| . O E.=.. o . |
| = = *.+ . .|
| . * . + o . |
| o S = + |
| = + |
| . O .|
| B B |
| ..O.o|
+----[SHA256]-----+3.发送密钥到受管端
[root@master ~]# ssh-copy-id root@192.168.136.145
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.136.145 (192.168.136.145)' can't be established.
ECDSA key fingerprint is SHA256:SEhN+MsuyBvAaWMPriq++QOreGxs75+A4Xy4lk9P4mw.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes #是否连接
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.136.145's password: #输入受管主机的密码
Number of key(s) added: 1 #添加的密钥数Now try logging into the machine, with: "ssh 'root@192.168.136.145'"
and check to make sure that only the key(s) you wanted were added.4.使用ssh-agent代理免密操作
[root@master ~]# ssh-agent bash #启动代理更新
[root@master ~]# ssh-add #添加代理的密钥文件
Enter passphrase for /root/.ssh/id_rsa: #输入密钥密码
Identity added: /root/.ssh/id_rsa (root@master)
[root@master ~]# ssh root@192.168.136.145
Activate the web console with: systemctl enable --now cockpit.socketLast login: Wed Jul 14 10:27:50 2021 from 192.168.136.219
[root@slave ~]# #不输入密码直接登录到受管主机界面了#重启则重新刷新代理才生效
3.加深操作
1.ansible运维工具,主机配置文件加入受管主机ip
## green.example.com
## blue.example.com
## 192.168.100.1
## 192.168.100.10
[web]
192.168.136.145
2.ansible利用模块ping
[root@master ~]# ansible web -m ping
192.168.136.145 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong" #可以看到不需要密码还安全
}
[root@master ~]# ansible web -a "yum -y install httpd"
(9/9): httpd-2.4.37-40.module_el8.5.0+852+0aafc 2.5 MB/s | 1.4 MB 00:00
--------------------------------------------------------------------------------
总计 1.4 MB/s | 2.0 MB 00:01
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
4.密钥管理
#查看私钥
ssh-add -l
#查看私钥对应的公钥
ssh-add -L
#移除指定的私钥
ssh-add -d id_rsa
#移除所有的私钥
#ssh-add -D
SSH代理基于Key免密码登录相关推荐
- windows登录linux免密码,Windows使用SSH Secure Shell实现免密码登录Linux的方法以及使用scp2命令免密码下载文件...
1. 环境信息 SSH Secure Shell Client所在的操作系统: Windows7 Linux服务器以及SSH的版本: [hadoop@gpmaster ~]$ cat /etc/r ...
- SSH信任关系配置(免密码登录)
场景:主机A想ssh免密码访问主机B (root/非root用户通用) A→B 1.在主机A上切换到平常用来跳转的用户上(本例用普通用户GK),执行ssh-keygen命令,然后一路回车即可. roo ...
- Windows使用SSH Secure Shell实现免密码登录Linux的方法以及使用scp2命令免密码下载文件
1. 环境信息 SSH Secure Shell Client所在的操作系统: Windows7 Linux服务器以及SSH的版本: [hadoop@gpmaster ~]$ cat /etc/r ...
- 大数据之-Hadoop完全分布式_集群中SSH配置_远程免密码登录_为集群_群起做准备---大数据之hadoop工作笔记0036
之前我们做集群配置的时候,去连接,别的主机,都需要输入这个主机的密码,很麻烦,做分发的时候,还得多次输入不同主机的密码,是相当麻烦 现在我们通过配置SSH来实现,主机之间的免密码登录 可以看到hado ...
- ssh免密码登录全过程
生成公钥和私钥 ssh-keygen 等同于ssh-keygen -t rsa 运行上面的命令后,系统会出现一系列提示,可以一路回车,例如: $ ssh-keygen Generating publi ...
- linux系统密码正则,Linux密钥登录原理和ssh使用密钥实现免密码登陆
目录 1.公私钥简介与原理 公钥和私钥都属于非对称加密算法的一个实现,这个加密算法的信息交换过程是: 1) 持有公钥的一方(甲)在收到持有私钥的一方(乙)的请求时,甲会在自己的公钥列表中查找是否有乙的 ...
- ssh免密码登录3种解决方法
前言 如果需要远程管理几个ssh服务器,输入不输入密码都无所谓,甚至都能背下来密码.当你要管理的ssh 多达几十个时,就不想输入密码啦.这里只是记录本人的使用习惯,不一定是最佳解决方案. 方式一:专门 ...
- 主机之间ssh免密码登录
1 前提条件 主机A,用户名为aris,IP地址为192.168.1.1 主机B,用户名为leon,IP地址为192.168.1.2 这两台主机上均安装了SSH服务器,且已经打开ssh服务: 检查主机 ...
- 配置免密码登录Linux服务器
2019独角兽企业重金招聘Python工程师标准>>> 获取本机SSH公钥,cat ~/.ssh/id_rsa.pub 远程Linux服务器上,vim ~/.ssh/authoriz ...
最新文章
- python 正则表达式方法_Python正则表达式一: 基本使用方法
- 哨兵模式原理_Redis哨兵、复制、集群的设计原理,以及区别
- Android之android.os.NewWorkOnMainThreadException解决办法
- LeetCode3:Longest Substring Without Repeating Characters
- echarts折现变曲线_echarts将折线图改为曲线图
- 美元为什么能够无限超发?
- 什么是广告?为什么我们讨厌广告?
- 省A类竞赛二等奖--村先游项目VUE前端重构
- 计算机地图制图的论文,计算机地图制图实习报告.doc
- dtu虚拟服务器,DTU服务器云
- Python 在问答频道中刷题积累到的小技巧(二)
- 中学计算机课体育课被占用,那些年被占用的体育课
- 数据中心机房设备标签规范建议
- 苹果三代耳机_【团品2】1.苹果原装数据线以及有线耳机 2.苹果蓝牙耳机
- 厦门八大美院墙绘 茶馆里的中国风墙绘壁画
- 【创建一个网页,实现猜数字游戏】
- UMLChina公众号文章精选(20210706更新精选)
- 教你一招H5快应用快速回到首页
- 响应式banner图片轮播布局代码
- 【Python】Webpy 源码学习