[随便学学]在doker服务器中实现ssh免密登陆

前言:最近登陆服务器,发现每次都需要输密码。所以想看看有没有一劳永逸的办法,能够不输密码。免密登陆。

ssh(secure shell)是一种网络协议,用于在不安全的网络中建立安全的远程连接。ssh无密码登陆是通过公钥加密技术,实现在ssh连接中无需输入密码即可登陆远程服务器的方法。

加密技术

先讲讲什么是对称加密和非对称加密,我的理解是:

1.对称加密是对信息的上锁和解锁,是同一把钥匙。

2.非对称加密,则是两把不同的锁,分别叫公钥私钥。具体加解密的时候,可以是:

私钥上锁,信息传输过去,对方用对应的公钥解锁。一般用于这表明这个信息来自这个用户。

公钥上锁,信息传输过去,对方用对应的私钥解锁。

SSH无密登陆

1.制作密钥对

在终端执行ssh-keygen -t rsa。会生成私钥文件id_rsa和公钥文件id_rsa.pub(如果用dsa则生成id_dsa,id_dsa.pub)

2.将公钥放到服务器指定位置

由于是docker服务器,所以要写清楚端口。
ssh-copy-id -i id_ras.pub -p 5022 xxx@127.0.0.1,然后输入密码。

3.再次远程登陆就不需要密码了。

原理

我的理解是:

本地生成了私钥和公钥,这是一对。然后本地有私钥,服务器放了公钥(这时候我输入了密码,等于我是合法用户,服务器建立了我是合法用户,并且我对应这个公钥的信息)。

信息在本地经过私钥加密发给服务器,服务器的对应公钥能解开。服务器就知道是我用对应私钥发起的信息,所以就给通过了。

相关推荐
xflySnail25 分钟前
nas服务域名高速访问-DNS+ESA
运维·服务器·esa·无端口访问
苏宸啊8 小时前
Linux指令篇(一)
linux·运维·服务器
睡不醒的猪儿8 小时前
nginx常见的优化配置
运维·nginx
我要升天!9 小时前
Linux中《网络基础》
linux·运维·网络
国强_dev9 小时前
在数据库开发和运维中的“错误信息误导(Red Herring)”
运维·adb·数据库开发
安科瑞刘鸿鹏179 小时前
工业自动化系统中抗晃电保护的协同控制研究
运维·网络·嵌入式硬件·物联网
ZStack开发者社区9 小时前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
草莓熊Lotso9 小时前
脉脉独家【AI创作者xAMA】|当豆包手机遭遇“全网封杀”:AI学会操作手机,我们的饭碗还保得住吗?
运维·开发语言·人工智能·智能手机·脉脉
三不原则10 小时前
银行 AIOps 实践拆解:金融级故障自愈体系如何搭建
大数据·运维
源代码•宸10 小时前
Golang语法进阶(并发概述、Goroutine、Channel)
服务器·开发语言·后端·算法·golang·channel·goroutine