讲解 ssh-keygen -t rsa -b 4096 命令表达的意思

实现免密登录
这条命令目的是为了本地机器ssh登录远程服务器无需输入密码
1.ssh-keygen
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。从客户端来看,SSH提供两种级别的安全验证:第一种级别(基于口令的安全验证):只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。第二种级别(基于密匙的安全验证)ssh-keygen:需要依靠密匙,你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒 。ssh-keygen有很多的参数,比如这里的-t -b -C都是他的一些参数
2.-t rsa
-t即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA:RSA:RSA加密算法是一种非对称加密算法,是由三个麻省理工的牛人弄出来的,RSA是他们三个人姓的开头首字母组合。DSA:Digital Signature Algorithm (DSA)是Schnorr和ElGamal签名算法的变种。为了让两个linux机器之间使用ssh不需要用户名和密码。所以采用了数字签名RSA或者DSA来完成这个操作。ssh-keygen默认使用rsa密钥,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa。
3.-b 4096
-b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。命令中的4096指的是RSA密钥长度为4096位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。
这里额外补充一个知识
命令后面还可以增加-C "注释内容"-C表示要提供一个新注释,用于识别这个密钥,可以是任何内容,一个用来识别的key
小结:当你创建ssh的时候:-t 表示密钥的类型 ,-b表示密钥的长度,-C 用于识别这个密钥的注释 ,这个注释你可以输入任何内容

ssh免密登陆失败原因总结(Linux)

  1. SSH公钥认证(免密码)配置
登录到本机服务器A,切换到响应的操作系统用户,执行命令,生成秘钥文件【按照提示直接回车】
ssh-keygen -t rsa
将公钥传送到对端服务器B上面【user@host为对端服务器帐号及IP】
ssh-copy-id -i ~/.ssh/id_rsa.pub  user@host
然后在本机服务器A上ssh命令验证是否免密码登录生效【user@host为对端服务器帐号及IP】
ssh user@host
  1. SSH免密码登陆的基本原理
SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等
  1. SSH免密码失败原因定位分析
a) 服务器B上.ssh目录的权限必须是700b) 服务器B上.authorized_keys文件权限必须是600或者644c) 服务器B上用户家目录文件权限必须是700,比如用户名是aischang,则/home/aischang这个目录权限必须是700如果不是700,在服务器A上查看/var/log/secure文件会报错

#原因
sshd为了安全,对属主的目录和文件权限有所要求。如果权限
不对,则ssh的免密码登陆不生效。

d) 服务器B上SELinux关闭为disabled,可以使用命令修改setenforce 0 ,查看状态的命令为getenforce或者 查看/etc/selinux/config 文件中是否是disablede) 有可能是StrictModes问题编辑 vi /etc/ssh/sshd_config找到#StrictModes yes改成StrictModes nof) 有可能是PubkeyAuthentication问题编辑 vi /etc/ssh/sshd_config找到PubkeyAuthentication改成yes

一、概述
1、就是为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作
2、模型分析
假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;
要达到的目的:
A机器ssh登录B机器无需输入密码;
加密方式选 rsa|dsa均可以,默认dsa
二、具体操作流程
单向登陆的操作过程(能满足上边的目的):
1、登录A机器
2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行#ssh 192.168.20.60 )
双向登陆的操作过程:
1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:
2、两个节点都执行操作:
#ssh-keygen -t rsa
然后全部回车,采用默认值.
3、这样生成了一对密钥,存放在用户目录的~/.ssh下。
将公钥考到对方机器的用户目录下,并将其复制到~/.ssh/authorized_keys中(操作命令: #cat id_dsa.pub >> ~/.ssh/authorized_keys )。
4、设置文件和目录权限:
设置authorized_keys权限
$ chmod 600 authorized_keys
设置.ssh目录权限
$ chmod 700 -R .ssh
5、要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞

讲解 ssh-keygen -t rsa -b 4096 命令表达的意思相关推荐

  1. linux ssh keygen参数,SSH的ssh-keygen命令基本用法详解

    ssh 公钥认证是ssh认证的方式之一.通过公钥认证可实现ssh免密码登陆,git的ssh方式也是通过公钥进行认证的. 在用户目录的home目录下,有一个.ssh的目录,和当前用户ssh配置认证相关的 ...

  2. linux中服务器互信的原理,linux服务器配置ssh互信(RSA)

    RSA认证协议原理: 对信息的加密和解密采用不同的key,这对key分别称作private key和public key,其中,public key存放在欲登录的服务器上,而private key为特 ...

  3. 华为交换机 ssh和Telnet远程登录配置命令

    华为交换机 ssh和Telnet远程登录配置命令 联系方式 QQ481715271*** ** 简单拓扑 ** LSW4 vlan 20配置地址的原因是SSH Telnet 都可以登录 LSW3 配置 ...

  4. scp 命令 路径_基于SSH的文件传输:scp命令

    日常开发中,经常需要在服务器和本地之间进行文件传输.这里来介绍一种基于SSH的文件传输方法--scp命令 命令格式 scp(secure copy,remote file copy program), ...

  5. windows连接远程服务器报错‘SSH‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案

    windows连接远程服务器报错'SSH' 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决方案 参考文章: (1)windows连接远程服务器报错'SSH' 不是内部或外部命令,也不是可运 ...

  6. Linux系列讲解 —— SSH登录

    讲解一下ssh远程登陆的基础知识. 目录 0. 基本概念 1. 安装ssh程序 1.1 windows平台(Win10) 1.2 Linux平台(Ubuntu18.04) 2. 密码方式远程登录 3. ...

  7. ssh免密码远程执行sudo命令

    目的是执行下面的命令不需要输入任何密码! copy >ssh username@host "sudo command" 1. 在本地机器上生成秘钥对儿 ssh-keygen  ...

  8. 【Linux】Rsync基于SSH认证的使用(rsync 命令属于1 v 4 的命令、rsync常用参数基本用法)

    一.Rsync基于SSH认证的使用 rsync 默认使用 ssh 协议进行远程登录和数据传输.远程主机需要开启 sshd 服务,rsync 在传输数据之前会先与远程主机进行一次 ssh 登录认证,然后 ...

  9. ssh登录提示RSA Host key认证失败的解决方法

    [问题描述] 今天用ssh命令登录一台此前连接过的服务器,失败,出现下面的错误提示 [问题分析] 从提示看,很明显,是RSA key不匹配. 根据提示查看本机/home/user/.ssh/目录下,查 ...

最新文章

  1. Zepto.js库touch模块代码解析
  2. 实现主成分分析和白化
  3. Groovy里的运行时元数据编程(metata programming)
  4. 人的手臂的自由度的数目以及六自由度机械臂的限制
  5. php openssl des ecb,php7.2 des-ede3-ecb加密报错:openssl_encrypt():Unknown cipher algorithm 落叶随风博客...
  6. Jupyter Lab在线运行矩池云教程
  7. [1-7] 把时间当做朋友(李笑来)Chapter 7 【从此时此刻开始改变】 摘录
  8. 计算机软考网络工程师历年真题,2019上半年软考网络工程师考试下午真题
  9. pc微信 hook 微信hook 最新版源码3.5 demo下载地址
  10. 某公司基于FineBI数据决策平台的试运行分析报告
  11. mysql update 子表,mysql update 子查询锁表问题
  12. 卷积神经网络原理详解
  13. 你应该知道的四种并发工具类
  14. ssm基于微信平台的牙科就诊信息管理系统的设计与实现 毕业设计源码211157
  15. 读取文本文件内容并写到excel
  16. 小学奥数公式大全 学习奥数必备“工具”
  17. 概率 (菜鸡 dalao轻喷
  18. 解决VUE在浏览器全屏下监听不到Esc键盘事件
  19. krpano 如何开启调试
  20. 剑指 Offer 61-68

热门文章

  1. MFC Windows 程序设计[327]之树形表格控件例程(附源码)
  2. ubuntu18.04 安装UHD+GNU Radio总结
  3. bcc/ebpf使用介绍
  4. 凡技工具分享——凡技鼠标连点器 V1.1.exe
  5. 拼多多网店排名如何提升
  6. Anki卡牌记忆工具
  7. 移动网络的信号分布及信号强度基本信息
  8. 聆听李凯院士的报告----Disruptive Innovation
  9. 信息比率(Information Ratio)
  10. Android 天气APP(十八)常用城市