前言

ssh认证方法普遍用来免密登入,通过ssh-keygen可生成私钥和公钥,使用场景很多。

基本介绍

当前用户通过ssh-keygen默认生成的公钥和私钥在当前用户家目录下的 .ssh 目录下

注意:常用的方法是把公钥内容复制保存在client机器~/.ssh/authorized_keys中就可以实现server端免密登入到client端,如果client没有这个.ssh目录,则需要手动创建,.ssh目录权限设置为700,authorized_keys文件设置为600
id_rsa 私钥
id_rsa.pub 公钥

不加任何参数的情况下生成私钥和公钥

正常的情况下一般都是一直按回车,直到结束。除非有特别需求,比如加个密码,或生成多个密钥需要区分密钥文件名称等。

[root@localhost ~]# ssh-keygen
Generating public/private rsa key pair.   # 正在生成公共/私有rsa密钥对。
Enter file in which to save the key (/root/.ssh/id_rsa):   # 输入保存密钥的文件(/root/.ssh/id_sa):
Enter passphrase (empty for no passphrase):   # 输入密码(空表示没有密码):
Enter same passphrase again:   # 再次输入相同的密码:
Your identification has been saved in /root/.ssh/id_rsa.   # 您的身份已保存在/root/.ssh/id_rsa中。
Your public key has been saved in /root/.ssh/id_rsa.pub.   # 您的公钥已保存在/root/.ssh/id_rsa.pub中。
The key fingerprint is:
SHA256:N9n+t7LrIOc4JFJr+FBxSFxwEekeOcDQJcV/ZqT2JLY root@localhost.localdomain
+---[RSA 2048]----+
|     .*+BB+      |
|       Bo+   .   |
|        = o o    |
|       o = O =   |
|      + S O X    |
|     + + + E .   |
|      = o. o.    |
|       . .= .o  .|
|         ....+=o.|
+----[SHA256]-----+
[root@localhost ~]# cd ~/.ssh/
[root@localhost .ssh]# ls
id_rsa  id_rsa.pub

参数用法

参数 详解
-f 指定生成私钥和公钥的前缀名称和文件路径。例如:/home/user/ssh-keygen -f ~/.ssh/yunwei ,生成的密钥在~/.ssh/下名称就叫 yunwei yunwei.pub
-C 可以写上备注啥的,一般都是写邮箱标识,反正我不用。例如:ssh-keygen -f yunwei -C “yunwei@qq.com”
-t 指定要创建密钥加密类型,默是RSA,其它有DSA等自行百度。例如:ssh-keygen -t dsa
-R 重新验证ssh免密登入,意思是两服务器之前就有配置过ssh免密登入,现在又重新生成了一对密钥,就算把公钥配置上了也无法免密登入,这时候需要重新认证,需要到server端的.ssh目录下执行 ssh-keygen -R 客户端ip
-b 最小位数为 512 ,最大4096。通常2048 位足以满足安全需要。密钥大小超过该值并不会提高安全性,反而会降低速度

结言

基本上述都是常用的,可以辅助你完成日常工作需求

SSH中的ssh-keygen常用方法相关推荐

  1. ssh中c3p0连接mysql_JSP+SSH+Mysql+C3P0实现的传智播客网上商城

    项目简介 本系统是传智播客授课时的开发案例,基于JSP+SSH+Mysql的简单网上商城.在当代开发中,SSH的使用已经逐渐被SSM取代,但不代表我们不需要学习SSH,该系统简单,但功能齐全可以作为S ...

  2. python mysql ssh隧道_在python中使用ssh隧道连接mysql

    通常为了保证数据库安全,不会允许直接连接数据库,而是需要通过SSH隧道去连接服务器背后的数据库: 今天我在用Python连接远程的MySQL时,直连遇到了无法连接的情况,使用了SSH隧道之后解决了问题 ...

  3. Ubuntu中重启ssh服务时提示:Job for ssh.service failed because the control process exited with error code. See

    场景 在Ubuntu中重启ssh服务时提示: Job for ssh.service failed because the control process exited with error code ...

  4. key位置 win10生成的ssh_Windows 10:如何在OpenSSH中生成SSH密钥

    通过生成自己的安全密钥,进一步扩展Microsoft在Windows 10中的OpenSSH实现. 图片来源:www.ghost580.comOpenSSH的使用无处不在,通过网络安全访问客户端设备. ...

  5. 解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对

    解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对   笔者最近在新 Linux 中安装 GitLab 后,发现一个诡异的事情.当配置完管理员账号.SSH 密钥之后.开启 ...

  6. ssh中的相对路径与绝对路径的问题

    一:前言:自己在学习ssh的时候常常被路径给迷惑,就比如在刚刚学习jsp的servlet时,绝对路径和相对路径我就弄混了,所以专门写了一篇博客来记载.而现在自己是在学ssh的时候在此遇到路径问题,本来 ...

  7. linux下的ssh端口号修改,如何在 Linux 中更改 SSH 端口

    默认情况下, SSH 侦听端口 22 . 更改默认 SSH 端口可以降低被自动攻击的风险,从而为服务器增加额外的安全层. 和更改默认端口相比,将防火墙配置为仅允许从特定主机访问端口 22 则更加简单和 ...

  8. html和css可以用在ssh里面么,在网站中使用SSH

    嗨,我目前正在制作自己的软件来控制一个带有Raspberry Pi的机器人.我想知道是否可以将ssh嵌入到HTML代码中,因此当用户输入Pi的IP地址时,它将通过ssh连接到pi.在网站中使用SSH ...

  9. Python中操控ssh和sftp

    Python中操控ssh和sftp 1 Reply 在Python(其实任何语言都是)中操控ssh执行远程命令是一个很麻烦的事情-- 首先要突破ssh密码的非交互模式,我之前一直用sshpass拼接各 ...

最新文章

  1. MySQL面试重点篇27问27答
  2. linux elf 文件加密
  3. 初识OSGI.NET插件框架
  4. 我们该不该旗帜鲜明地反对李彦宏当选院士?
  5. .NET开发系列工具之NDoc:让NDoc支持简体中文!(含修改了的源代码)
  6. 如何设置、查看以及调试core文件
  7. Spark算子总结版
  8. 3DMAX 处理反面
  9. centos6.8安装node
  10. td 超出部分怎么显示_道瑞斯:黄金白银TD走势分析(纸黄金,纸白银,现货黄金,现货白银)...
  11. C++语言基础 —— STL —— 容器与迭代器 —— set 与 multiset
  12. 适配器模式(PHP实现)
  13. PRD产品需求文档原型模版
  14. qq2018旧版本7.3.1下载_qq音乐2018老版本下载
  15. 阿里巴巴Java开发手册 PDF
  16. Git Gui 中文乱码
  17. Python 爬取小说点评网站,用大数据方法找小说
  18. JT/T 808-2019、JT/T 809-2019文档分享
  19. word 方框打勾_复制拿走即用
  20. ESP32-CAM视频传输至公网服务器并转发视频数据流

热门文章

  1. yum查询软件:使用yum命令查询软件包信息
  2. 学生注册平台html,安全教育平台登录注册
  3. 常用linux命令 超级精炼版
  4. 微信公众平台开发(94) 违章查询
  5. Google Play 隐私政策
  6. 感知自然语言理解(NLU)
  7. 安装版Tomcat的使用
  8. html5 灯笼旋转特效,一种LED旋转灯笼的制作方法
  9. golang移除数组中重复的元素
  10. 基于静态博弈的穿越沙漠游戏最优策略