在Linux服务器、客户端中构建密钥对验证进行远程连接

构建密钥对验证SSH体系的基本过程包括四步:

SSH客户端:192.168.1.1
SSH服务器:192.168.1.2

1、在客户端创建密钥对:

[[email protected] /]# ssh-keygen -t ecdsa
# “ -t ” 用来指定加密算法,这里使用ecdsa,还有一个是dsa。
Generating public/private ecdsa key pair.
Enter file in which to save the key (/root/.ssh/id_ecdsa):
#指定私钥存放位置,若直接按enter,则默认保存在宿主目录中的隐藏文件夹中.ssh下。
Created directory ‘/root/.ssh‘.
Enter passphrase (empty for no passphrase):       #设置私钥短语
Enter same passphrase again:      #确认所设置的短语

                ..........................
+---[ECDSA 256]---+
|     .. =oo.+o.  |
|      .=.= *.o.oo|
|      +.= = B oo+|
|     . = = B . = |
|    . o S o . =  |
|     + o = o . . |
|      = = . .    |
|       + E .     |
|          .      |
+----[SHA256]-----+
当出现以上提示,则表示创建成功。

私钥短语用来对私钥文件进行保护,在进行远程连接时必须要输入正确的私钥短语。若不设置私钥短语,那么在连接时,就实现了无口令登录,不建议这样做。

2、将公钥文件上传至SSH服务器(这里使用简单的方法,一条命令搞定上图中的第二步和第三步):

[[email protected] /]# ssh-copy-id -i ~/.ssh/id_ecdsa.pub [email protected]
#  “ -i ” 用来指定公钥文件,“ lisi”是SSH服务器的用户
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_ecdsa.pub"
The authenticity of host ‘192.168.1.2 (192.168.1.2)‘ can‘t be established.
ECDSA key fingerprint is SHA256:uArLTW6MJOgdp+OZQbywwJdlGUEKDmOC62CnU6zyCgA.
ECDSA key fingerprint is MD5:b8:ca:d6:89:a2:42:90:97:02:0a:54:c1:4c:1e:c2:77.
Are you sure you want to continue connecting (yes/no)? yes              #输入“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
[email protected]‘s password:                  #输入用户“lisi” 的密码

#验证密码后,会自动将公钥文件添加到SSH服务器“ lisi ”用户的宿主目录下的.ssh/authorized_key
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh ‘[email protected]‘"
and check to make sure that only the key(s) you wanted were added.
出现上述提示后,则表示上传成功。

4、在客户端使用密钥对验证:

[[email protected] /]# ssh [email protected]            #请求连接
Enter passphrase for key ‘/root/.ssh/id_ecdsa‘:
#输入生成密钥时设置的私钥短语,而不是lv用户的密码了
Last login: Sat May 18 22:13:51 2019
[[email protected] ~]$ id               #查询当前用户的id,结果为登录成功
uid=1000(lisi) gid=1000(lisi) 组=1000(lisi),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

若在配置中遇到错误,则要注意是否与sshd服务的配置文件中发生了冲突,因为sshd服务的配置项是否启用了密钥对验证和指定的公钥库文件位置都对远程连接有影响。sshd服务配置项的解释具体参考这里: https://blog.51cto.com/14154700/2402246

原文地址:https://blog.51cto.com/14154700/2402273

时间: 2024-08-10 15:10:24

在Linux服务器、客户端中构建密钥对验证进行远程连接的相关文章

在Linux服务器、客户端之间构建密钥对验证进行远程连接

客户端:192.168.1.10 zhangsan用户服务端:192.168.1.20 lisi用户在客户端中创建密钥对: [[email protected] /]$ ssh-keygen -t ecdsa # -t 用来指定算法类型:ecdsa和dsa Generating public/private ecdsa key pair. Enter file in which to save the key (/home/zhangsan/.ssh/id_ecdsa): # 指定私钥位置 Cr

如何构建密钥对验证的SSH体系

what?什么是密钥对验证的SSH体系? SSH支持两种验证方法,一种是用户身份验证另一种是密钥对验证,本文主要讲解如何实现密钥对验证. why?使用密钥对验证的好处? 密钥对验证更加安全,并且可以免交互.使用起来更加安全.便捷. where?应用在哪里? 可应用于OpenSSH,实现更加安全.免交互的远程登录.拷贝.复制等操作. how?如何实现? 下图为在Linux服务器.客户机中构建密钥对验证SSH体系的基本过程. 一,在客户端创建秘钥对        在linux客户机中,通过ssh-k

SSH远程管理,构建密钥对验证的SSH体系,设置SSH代理功能。

SSH服务及配置文件SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,对通信双方的数据实行了加密处理,提供了更好的安全性.OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX,linux系统,关于OpenSSH的更多内容可以访问其官方网站http://www.openssh.com.本篇讲解以redhat6.5为实验对象,一般情况系统默认已经安装OpenSSH服务,使用"service sshd start"命令即可按默认设置启动sshd

Openssh服务配置:控制用户登录 构建密钥对验证ssh

一.项目简介:OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现.OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控制和文件传输过程中的数据,并由此来代替原来的类似服务.二.版本介绍:OpenSSH 支持 SSH 协议的版本 1.3.1.5.和 2.自从 OpenSSH 的版本2.9以来,默认的协议是版本2,该协议默认使用 RSA 钥匙.de:OpenSSH en:OpenSSHes:OpenSSH fr:OpenSSHit:OpenSSH ja:OpenS

linux redhat6.5 中 构建DNS主从服务器

DNS主从服务器简介:主DNS服务器: 维护所负责解析的域内解析库的服务器:解析库由管理维护从DNS服务器: 从主DNS服务器或其它的从DNS服务器那里"复制"(区域传递)一份解析库 首先在两台linux中 构建DNS服务器 DNS的构建之前的文章中有详细教程:http://blog.51cto.com/13630803/2114574下面开始配置 主从同步.1:将虚拟机1 作为主DNS 编辑它的区域文件named.rfc1912.zones配置 正反解析allow-transfer

linux redhat6.5 构建SSH服务及SSH构建密钥对验证

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group) SSH是一种网络协议,用于计算机之间的加密登录.如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露.最早的时候,互联网通信都是明文通信,一旦被截获,内容就暴露无疑.1995年,芬兰学者Tatu Ylonen设计了SSH协议,将登录信息全部加密,成为互联网安全的一个基本解决方案,迅速在全世界获得推广,目前已

轻松,阿里云云服务器上安装mysql5.6,解决远程连接失败问题

最近刚接触linux操作系统,买了个阿里云服务器,centos7系统,装mysql数据库网上查看了别人的博客,方法都不太一样,自己也试了几个,结果都没有成功. 后来搜索发现阿里云安装mysql跟有专门的方法,我把云服务器磁盘初始化之后,重新安装,然后试了真的安装成功了,希望这篇博文能帮助以后在阿里云上安装mysql的朋友,不用再走我走过的弯路.以下是我测试安装成功的步骤,命令也可以直接复制粘贴.我看到链接地址:https://jingyan.baidu.com/article/454316ab6

Redhat系列linux系统安装,并使用xshell工具进行远程连接

实验项目:Redhat系列linux系统安装首先我们在VMwareWorkstation软件上进行安装.如图所示,选择创建,使用安装向导,选择自定义安装,点击下一步选择稍后安装操作系统客户机操作系统选择linux系统,版本选择Red Hat Enterprise linux 6 64 位给将要安装的虚拟机命名,并选择一个目录保存在此处理器选择一核(根据不同电脑配置可以自由选择处理器核心数)选择固定内存为2G大小(可以根据实际需要自行决定)网络类型选择仅主机模式磁盘容量指定40G把磁盘文件和创建的

Linux服务器安全策略配置-PAM身份验证模块(二)

○ 本文导航 关于PAM PAM身份验证配置文件 PAM配置文件语法格式 PAM模块接口 PAM控制标志 PAM配置方法 PAM身份验证安全配置实例 - 强制使用强密码(用户密码安全配置) - 用户SSH登录失败尝试次数超出限制后锁定账户(帐户锁定/解锁和时间设置) - 允许普通用户使用sudo而不是su(限制普通用户登录到root用户) - 禁止直接使用root用户通过SSH登录 pwgen复杂密码随机生成工具 关于PAM Linux-PAM (Pluggable Authentication