博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Linux服务器、客户端中构建密钥对验证进行远程连接
阅读量:6416 次
发布时间:2019-06-23

本文共 2352 字,大约阅读时间需要 7 分钟。

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

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

SSH客户端:192.168.1.1

SSH服务器:192.168.1.2

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

[root@localhost /]# 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服务器(这里使用简单的方法,一条命令搞定上图中的第二步和第三步):

[root@localhost /]# ssh-copy-id -i ~/.ssh/id_ecdsa.pub lisi@192.168.1.2#  “ -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 keyslisi@192.168.1.2's password:                  #输入用户“lisi” 的密码#验证密码后,会自动将公钥文件添加到SSH服务器“ lisi ”用户的宿主目录下的.ssh/authorized_keyNumber of key(s) added: 1Now try logging into the machine, with:   "ssh 'lisi@192.168.1.2'"and check to make sure that only the key(s) you wanted were added.出现上述提示后,则表示上传成功。

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

[root@localhost /]# ssh lisi@192.168.1.2            #请求连接Enter passphrase for key '/root/.ssh/id_ecdsa':             #输入生成密钥时设置的私钥短语,而不是lv用户的密码了Last login: Sat May 18 22:13:51 2019[lv@localhost ~]$ 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/2402273

你可能感兴趣的文章
导航下拉菜单
查看>>
TSS 任务状态段 详解
查看>>
【二项式定理】【推导】计蒜客17115 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B. Coin...
查看>>
【并查集】bzoj1015 [JSOI2008]星球大战starwar
查看>>
ehCache+spring的简单实用
查看>>
纯CSS3代码实现表格奇偶行异色,鼠标悬浮变色
查看>>
这一周吃什么呢?
查看>>
文本聚类
查看>>
spring mvc改造成spring boot
查看>>
【学习/模板】tarjan缩点
查看>>
multiprocessor(下)
查看>>
Pyinstaller打包程序为*.exe
查看>>
MyBatis配置详解
查看>>
css的再深入8(更新中···)
查看>>
安卓新导入工程中gen目录下无R文件解决方法
查看>>
POJ 2245 Addition Chains(算竞进阶习题)
查看>>
时间分割与获取一下阶段时间
查看>>
案例解析|从数据规划、业务分析到管理决策的数据治理方案
查看>>
Laravel Controllers
查看>>
iOS开发-清理缓存功能的实现
查看>>