基于key验证的ssh连接

本文介绍了如何通过SSH的key验证实现无密码登录,详细阐述了准备、实施步骤,包括生成密钥对、传输公钥、设置私钥加密及使用ssh-agent解决密码输入问题。此外,还提到了多主机管理工具pssh的应用,帮助提升自动化运维效率。
摘要由CSDN通过智能技术生成

简介
在实际生产环境中,我们每日工作可能面对着许多的服务器需要管理,记住每台机器的账户密码显然不现实,所以我们通常需要采取ssh的key验证登录(公钥登陆),来协助我们实现多主机的远程管理操作
所谓”公钥登录”,原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

准备

ssh连接自身来自于openssh包,分为openssh,openssh-clients,openssh-server三个包,会生成不同的配置文件。
我们需要保证连接双方的主机均安装了软件包,并且保证之间的网络处于连通状态。

实现

基于密钥的安全验证必须为用户自己创建一对密钥,并把共有的密钥放在需要访问的服务器上。当需要连接到SSH服务器上时,客户端软件就会向服务器发出请求,请求使用客户端的密钥进行安全验证。服务器收到请求之后,先在该用户的根目录下寻找共有密钥,然后把它和发送过来的公有密钥进行比较。如果两个密钥一致,服务器就用公有的密钥加密“质询”,并把它发送给客户端软件(putty,xshell等)。客户端收到质询之后,就可以用本地的私人密钥解密再把它发送给服务器,这种方式是相当安全的。
步骤:
1、在客户端生成一对密钥
2、将公钥传输至服务器端某用户的家目录下的 .ssh/authorized_keys 文件中(多个公钥需要进行追加)
3、测试登录
首先,我们需要生成一对密钥

[root@localhost ~]$ ssh-keygen -t rsa -P '' -f "/root/.ssh/id_rsa"
Generating public/private rsa key pair.
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:
f3:80:b8:7e:39:66:e5:6b:6f:f7:b6:5a:c5:50:6d:78
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值