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. 假如鲁迅是程序员......
  2. 怎样初始化一个指针数组
  3. php ajax搜索,PHP 与AJAX
  4. Syntax Error: Error: Node Sass version 6.0.1 is incompatible with ^4.0.0.
  5. python爬取行业数据_用Python进行Web爬取数据
  6. 模型开发:拥抱张量运算
  7. Haskell分解质因数
  8. cad卸载_老师傅爱不释手的6款CAD插件,款款优秀,用了就再也不舍得卸载
  9. 快速下载github上部分文件夹或文件
  10. 模仿UP主,用Python实现一个弹幕控制的直播间
  11. charles软件关闭后浏览器无法上网的问题
  12. 微信公众号注册 步骤
  13. android 定位轨迹功能,小步外勤怎么看轨迹 定位轨迹功能详解
  14. Android系统修改无操作进入屏保页
  15. 【bzoj4887】[Tjoi2017]可乐 矩阵乘法
  16. 数据分析中看国产综艺节目走过的2019年
  17. 推荐开发工具系列之--PyF5(自动刷新)
  18. 工厂设计模式有什么用?
  19. Python 时间序列建模:用指数平滑法预测股价走势
  20. 苏上海市计算机1级考试,苏省一级计算机考试题目判断1

热门文章

  1. 云安全之虚拟机安全监控
  2. 广度优先搜索算法(Breath-first Search)是如何搜索一张图的?
  3. BZOJ 3261: 最大异或和 [可持久化Trie]
  4. spider-抓取网页内容(Beautiful soup)
  5. PDI(Kettle)加速插入数据的速度
  6. Web Page Request Principle
  7. 快速上手 flask
  8. 蓝桥杯 ALGO-142 算法训练 P1103
  9. 蓝桥杯 ALGO-143 算法训练 字符串变换
  10. 蓝桥杯 ALGO-113 算法训练 数的统计