ssh创建密钥对认证
[root@localhost ~]# useradd hehe                              #创建普通用户张三
[root@localhost ~]# su - hehe                                    #进入张三用户
[hehe@localhost ~]$ ssh-keygen -t rsa                    #创建密钥对,rsa算法
                                                                                #创建密钥对时会让你输入密码密码可写可不写
[hehe@localhost ~]$ ls
[hehe@localhost ~]$ ls -a
. .. .bash_logout .bash_profile .bashrc .cache .config .mozilla .ssh
[hehe@localhost ~]$ cd .ssh
[hehe@localhost .ssh]$ ls
id_rsa id_rsa.pub                                                                     #出现.ssh目录 私钥公钥都在里面id_rsa 私钥 id_rsa.pub 公钥
[hehe@localhost .ssh]$ scp id_rsa.pub root@192.168.100.181     #把公钥以root的身份传给服务器
[hehe@localhost .ssh]$ scp id_rsa.pub root@192.168.100.181:/tmp/
The authenticity of host '192.168.100.181 (192.168.100.181)' can't be established.
ECDSA key fingerprint is e6:6a:1c:35:a0:ce:55:49:f8:3a:fd:72:9b:11:aa:0d.
Are you sure you want to continue connecting (yes/no)? y
Please type 'yes' or 'no': yes
Warning: Permanently added '192.168.100.181' (ECDSA) to the list of known hosts.

root@192.168.100.181's password:

id_rsa.pub 0% 0 0.0KB/s --:-- ETA
id_rsa.pub 100% 408 0.4KB/s 00:00                                                                      #百分百显示成功
------------------------------------------------------------------------------------------------------------------------以上是客户端操作,以下是服务器操作
ls /tmp/
id_rsa.pub                                                                                                       #公钥已经导入成功了
ks-script-lH7Zsq
systemd-private-5b39a8ad25264afea8d50d43f68e2b47-chronyd.service-vomwxB
vmware-root_5994-725844256
vmware-root_6127-1949772731
vmware-root_6422-994228579
yum.log
[root@localhost tmp]# mkdir /home/test3/.ssh                                                               #在test3用户下创建一个.ssh的文件夹
[root@localhost tmp]# cat id_rsa.pub                                                                             #看一下公钥里面的铭文
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcdhbE3ZbFYsyPg5TMHHNxU/1bU8
[root@localhost tmp]# cat id_rsa.pub > /home/test3/.ssh/authorized_keys #把公钥覆盖到authorrized_keys下 这个目录一个方公钥的数据库
[root@localhost tmp]# ll /home/test3/.ssh/authorized_keys                                               #看一下里面的权限 644
-rw-r--r--. 1 root root 408 8月 16 09:37 /home/test3/.ssh/authorized_keys

--------------------------------------------------------------------------------------------------------------------------------
然后我们去客户端中测试
[hehe@localhost .ssh]$ ssh test3@192.168.100.181                               #远程连接test3
Enter passphrase for key '/home/hehe/.ssh/id_rsa':
[test3@localhost ~]$ ip a #可以看到用户名编程test3了此时连接成功了
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:18:21:6d brd ff:ff:ff:ff:ff:ff
inet 192.168.100.181/24 brd 192.168.100.255 scope global noprefixroute dynamic ens33 #ip地址也变成服务器的了
valid_lft 4550sec preferred_lft 4550sec
inet6 fe80::d1f4:2e18:af6b:f8b8/64 scope link noprefixroute
valid_lft forever preferred_lft forever

总结(一共四个步骤)
1.创建密钥对(私钥公钥、公钥给服务器私钥自己留着,私钥不能泄露)
2.把公钥给服务器 scp
3.把公钥放到指定用户的公钥数据库中.ssh/authorized_keys
4.客户端进行测试远程连接测试

转载于:https://www.cnblogs.com/zcdhhh/p/11362078.html

ssh创建密钥对验证相关推荐

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

    SSH服务及配置文件 SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录,对通信双方的数据实行了加密处理,提供了更好的安全性.OpenSSH是实现SSH协议的开源软件 ...

  2. 实战证明LINUX系统下密钥对验证的安全性

    实战证明LINUX系统下密钥对验证的安全性  密钥对验证:要求提供匹配的密钥信息才能通过验证,首先在客户端创建一对密钥文件(公钥.私钥),后把公钥文件放到需要远程连接的服务器中.远程登录时,系统将使用 ...

  3. 五:openSSH服务的密钥对验证

    密钥对验证整过细节包含四步: 1.首先要在SSH客户端以 root用户身份创建密钥对 2.客户端将创建的公钥文件上传至SSH服务端临时位置 3.服务端将公钥信息导入用户root的公安数据库文件 4.客 ...

  4. java jwt 验证_教程:用Java创建和验证JWT

    java jwt 验证 "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多 ...

  5. 教程:用Java创建和验证JWT

    "我喜欢编写身份验证和授权代码." 〜从来没有Java开发人员. 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证. Java ...

  6. 服务器间通过ssh使用密钥对实现无密码登录

    脚本如下:  #该脚本为生成SSH密码对 rm -rf .ssh mkdir .ssh echo "创建证书,默认回车即可" ssh-keygen -t rsa chmod 600 ...

  7. 【应用安全】 使用Java创建和验证JWT

    Java对JWT(JSON Web Tokens)的支持过去需要大量的工作:广泛的自定义,几小时的解析依赖关系,以及仅用于组装简单JWT的代码页.不再! 本教程将向您展示如何使用现有的JWT库来做两件 ...

  8. 如何创建密钥对,使用密钥登录服务器

    在我们平时使用Linux系统时候,通常使用的Linux SSH登录方式是用户名加密码的登录方式,但是这种密码登录的方式很容易造成密码泄露或者被暴力破解,非常不安全,下面我们采用一种相对安全的登录方式- ...

  9. HIDL示例-JAVA服务创建-Client验证-Android10.0 HwBinder通信原理(四)

    摘要:本节主要来讲解Android10.0 JAVA层的HIDL服务创建和JAVA层的Client验证 阅读本文大约需要花费15分钟. 文章首发微信公众号:IngresGe 专注于Android系统级 ...

最新文章

  1. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl
  2. 深入了解SAP S4 HANA Business Partner【中英文双语版】
  3. 道路游戏(洛谷 P1070)
  4. 代码签名证书,让软件真正拥有姓名!
  5. Arduino_esp32_WiFi代码
  6. 数塔问题-------给你有哪些启示?
  7. sharepoint2010基于表单认证
  8. atitit。自定义uml MOF EMF体系eclipse emf 教程o7t
  9. 根据吴安德(斯坦福大学深度学习讲座),您应该如何阅读研究论文
  10. matlab画动态简单轨迹,利用MATLAB绘制相轨迹
  11. 爬虫:爬取网页表格内容,写入scv文件并绘图
  12. 英语语法 - the + 形容词 的意义
  13. 谈一谈PAC学习理论
  14. 头晕和眩晕是怎样的感觉?3件小事来缓解!
  15. 【面经】2021 中国农业银行 笔试编程题
  16. Windows 当前所接的屏幕检测
  17. 宁波市教育学院计算机系主任,欢迎宁波诺丁汉大学计算机系主任白瑞斌教授一行到访南科大...
  18. 微信小程序无法弹出授权登录窗口
  19. 【NB-Iot自我学习之路_3】NB平台介绍【电信篇】+【移动篇】
  20. asp手机拍照显示_WeX5V3.1手机拍照例子-后台ASP.NET

热门文章

  1. Debian 7 Gitlab `GLIBC_2.14 not found`
  2. C语言 n的作业,C语言作业练习
  3. L1-077 大笨钟的心情 (15 分)-PAT 团体程序设计天梯赛 GPLT
  4. [Java] 蓝桥杯ALGO-119 算法训练 寂寞的数
  5. 蓝桥杯 ADV-182 算法提高 前10名
  6. 1048. 数字加密(20)-浙大PAT乙级真题
  7. JAVA中运行看不见窗口_eclipse中已经把窗口设置为可视,为什么运行 时还是看不到窗口?...
  8. mycat php pdo,mycat程序写入和读取中文乱码解决
  9. Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)
  10. TypeError: unhashable type: 'list'