一 客户端是linux
1.在客户端生成密钥对

[root@localhost ~]# ssh-keygen -t rsa       <== 建立密钥对,-t代表类型,有RSA和DSA两种
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):   <==密钥文件默认存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):     <== 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again:     <== 再输入一遍密钥锁码
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:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
|           +.    |
|          o * .  |
|        . .O +   |
|       . *. *    |
|        S =+     |
|    .    =...    |
|    .oo =+o+     |
|     ==o+B*o.    |
|    oo.=EXO.     |
+----[SHA256]-----+

密钥锁码在使用私钥时必须输入,这样就可以保护私钥不被盗用。当然,也可以留空,实现无密码登录,这里密钥锁码设置为空。完成上述步骤后,在 root 用户的家目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件,其中id_rsa 为私钥,id_rsa.pub 为公钥。

2.把公钥传输至远程服务器
这里的远程服务器是172.16.8.11

[root@localhost ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@172.16.8.11
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '172.16.8.11 (172.16.8.11)' can't be established.
ECDSA key fingerprint is SHA256:IpS8Vw0F/Yxece36yQ9KhoIuxHFjSi/Ect/WHGxw//k.
ECDSA key fingerprint is MD5:03:85:10:9a:21:75:d6:f1:7a:6e:fd:a8:08:c5:ef:59.
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
root@172.16.8.11's password:    <==输入远程主机的密码Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'root@172.16.8.11'"
and check to make sure that only the key(s) you wanted were added.

3.测试

[root@localhost ~]# ssh 172.16.8.11

可以看出,无需输入密码即可直接登录

二,客户端为Windows
这里使用xshell来生成密钥对
1.在客户端生成密钥对
点击Xshell菜单栏的工具,选择新建用户密钥生成向导



2.复制生成的公钥到远程主机里面 ~/.ssh/authorized_keys 文件中。如果没有.ssh目录,需要自己建立一个,并更改目录权限为700

[root@localhost ~]# mkdir ~/.ssh
[root@localhost ~]# chmod 700 ~/.ssh/
[root@localhost ~]# vim ~/.ssh/authorized_keys

粘贴公钥的内容,保存退出

3.测试
用xshell新建一个窗口



点击连接即可实现无密码登录

ssh密钥的生成与使用相关推荐

  1. ubuntu ssh密钥_生成SSH密钥以在Ubuntu中进行无密码登录

    ubuntu ssh密钥 SSH (Secure Shell) is a cryptographic network protocol which is used for establishing s ...

  2. Linux ssh 密钥的生成与使用

    本机的Linux 在客户端生成密钥对 ssh-keygen -t rsa szm@LENOVO:~$ ssh-keygen -t rsa <== 建立密钥对,-t代表类型,有RSA和DSA两种 ...

  3. 密钥生成并配置_如何在 CentOS 8 上设置 SSH 密钥

    本文最先发布在: 如何在 CentOS 8 上设置 SSH 密钥​www.itcoder.tech 安全 Shell (SSH) 是一个被设计用来在客户端和服务器之间进行安全连接的加密网络协议. 最流 ...

  4. ssh-keygen生成git ssh密钥

    SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell.SSH登录是需要用户名和密 ...

  5. Mac环境下生成ssh密钥

    场景 以前一直用http协议去拉取代码,可是最近的网络实在很慢,后来发现ssh请求的速度竟然比http要快很多,于是就研究了一下ssh密钥的生成及使用 git安装 这个网上有很多教程就不赘述了. 测试 ...

  6. git生成ssh密钥详细步骤 git如何生成ssh密钥

    git生成ssh密钥详细步骤 git如何生成ssh密钥 git生成ssh密钥详细步骤?Git是一个开源的分布式版本控制系统,可以高效敏捷的处理任何项目,用于帮助管理Linux内核开发.而生成一个ssh ...

  7. sourcetree如何配置ssh密钥 - 教程篇

    百度教程 · 参考: 点击查看:sourcetree如何配置ssh密钥 注意点: 一.先理解是怎么回事,怎么弄! 进入SSH的设置页面,找到(如下图所示)链接: 之后,看到网页内容(有道翻译)如下: ...

  8. seahorse 密钥环_使用Seahorse图形化管理SSH密钥

    seahorse 密钥环 如果您是Linux系统管理员,则可能熟悉使用安全外壳(SSH)工具安全地连接到远程服务器. 您可能还知道SSH使用公私钥对提供加密. 因此,使用SSH的第一步是生成密钥对. ...

  9. Github使用ssh密钥登陆

    Github使用ssh密钥登陆 生成SSH密钥 配置Github 检查SSH连接 使用Github 附录:更改密钥名称 方法一:为已创建的密钥改名 方法二:创建时使用新的名称 参考链接 想要从linu ...

最新文章

  1. 微软职位内部推荐-Software Engineer II-News
  2. java中方法不调用会执行_java[新手]类里的方法没有调用为什么实现了?
  3. java简单毕设_计算机毕业设计之自定义毕设课题需要如何确定工作量
  4. tomcat.exe java home,tomcat.exe启动和startup.bat启动的不同
  5. python现在的时间是几点_Python 的日期和时间处理
  6. 会议容易中吗_【留学评估】美国留学后就业真的和想象中的一样容易吗?
  7. oracle到pg不停机增量迁移,研究 Oracle 到 PostgreSQL 的数据迁移 – 以 pgloader 为例 – Phy 的博客...
  8. android学习笔记---31_多线程断点下载器,下载原理实现
  9. 为节省内存,动态添加view布局和控件
  10. AVR 矩阵键盘程序源代码2(有连续按键功能)(原创)
  11. 【HASH】【UVA 10125】 Sumset
  12. 本特利探头330104-00-02-10-02-00
  13. java通讯录管理系统_java实现通讯录管理系统
  14. SAP 工单报工批次确定自动带出批次并拆分
  15. matlab解微分方程
  16. 网络编辑如何经营网络社区?
  17. Linux系统安装教程(详细版)
  18. Android chrome默认设置Autoplay policy
  19. 废水硝酸盐的深度去除
  20. 2020年团体程序设计天梯赛L1题目集(题目+代码)

热门文章

  1. .ttf字体文件引入vue项目及使用
  2. 中国土壤数据库及其分省处理数据集
  3. MySQL数据库对象管理
  4. 求素数(质数)的方法及时间复杂度的比较
  5. ubuntu16.04+caffe+GTX1060+DIGITS安装方法
  6. BlockChain技术系列(三)- fabric协议介绍
  7. Axure RP8 8.1.0.3381 安装包、注册码 激活码
  8. 汽车大数据洞察:慧数汽车3·15专题篇《2019年汽车产品质量投诉分析》
  9. c语言简单程序printf,程序演示:C语言第一个简单实例
  10. JDK环境变量及配置简介