Linux配置SSH免密登录“SSH - keygen”的基本用法

  

  

引用百度百科的说明:

  

SSH为Secure Shell的缩写,由IETF的网络小组(网络工作小组)所制定;它是建立在应用层基础上的安全协议。
  

  

SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。
  

  

SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。

  

为了在不同平台/网络主机之间的通信安全,很多时候我们都要通过ssh进行认证。ssh认证方式主要有2种:

  

①基于口令的安全认证:每次登录的时候都要输入用户名和密码,由于要在网络上传输密码,可能存在中间人攻击的风险;
  ②基于密钥的安全认证:配置完成后就可以实现免密登录,这种方式更加安全,不需要在网络上传递口令,只需要传输一次公钥。常见的git的ssh方式就是通过公钥进行认证的。

  

  

说明:这里演示所用的服务器操作系统是7分操作系统。我们的目标是:

  

服务器(172.16.22.131)能免密登录B服务器(172.16.22.132)。

  

注意:ssh连接是单向的,一个能免密登录B,并不能同时实现B能免密登录A .

  

<强> 2.1安装必需的软件

  

在操作之前,先确保所需要的软件已经正常安装。

  

这里我们需要安装ssh - keygen <代码> 和<代码> ssh-copy-id>   

        ssh - keygen #安装,需要确保服务器可以联网。博主这里已经安装完成,所以没有做任何事。   root@localhost ~ # ssh - keygen使用yum安装- y   加载插件:fastestmirror langpacks   | 3.6 kB就是基础   epel | 3.6 kB就是   配件| 2.9 kB就是   更新| 2.9 kB就是   从缓存hostfile加载镜像速度   ssh - keygen没有包可用。   错误:无事可做      #安装ssh-copy-id   (root@localhost ~) # yum安装- y ssh-copy-id   加载插件:fastestmirror langpacks   从缓存hostfile加载镜像速度   没有可用的软件包ssh-copy-id。   错误:无关      

2.2 ssh - keygen创建公钥——私钥对

  

(1)在指定目录下生成rsa密钥,并指定注释为“shoufeng”,实现示例:
  

        ssh - keygen [root@localhost ~] # - t rsa - f ~/sh/id_rsa - c“shoufeng”   # ~密钥类型~密钥文件路径及名称~备注信息   生成公钥/私rsa密钥对。   没有密码输入密码(空):#输入密码,若不输入则直接回车   再次输入相同的密码:#再次确认密码,若不输入则直接回车   你一直保存在/root/.ssh/id_rsa.识别   你的公钥保存在/root/.ssh/id_rsa.pub。   指纹的关键是:   9:e3:94: b9:69: c8: e9:68:4b: dc:费尔南多-阿隆索:43:25:7f: 53: f1 shoufeng   的randomart形象的关键是:   + - RSA [2048] - - - - - +   | |   |。|   | |阿   |。E |   | + s |   | | . .。=o   | oo.oB。。|   | . . o=o。+ |   + + oo + | |   + - - - - - - - - - - - - - - - - - - +      

注意:密钥的文件名称必须是id_xxx,这里的xxx就是- t参数指定的密钥类型。比如密钥类型是rsa,那么密钥文件名就必须是id_rsa .

  

(2) ssh - keygen常用参数说明:

  

- t:密钥类型,可以选择dsa | ecdsa | ed25519 | rsa;

  

- f:密钥目录位置,默认为当前用户家路径下的。ssh隐藏目录,也就是~/sh/,同时默认密钥文件名以id_rsa开的头。如果是根用户,则在/根/sh/id_rsa,若为其他用户,则在/home/用户名/. ssh/id_rsa;

  

- c:指定此密钥的备注信息,需要配置多个免密登录时,建议携带;

  

- n:指定此密钥对的密码,如果指定此参数,则命令执行过程中就不会出现交互确认密码的信息了。

  

举例说明:同时指定目录位置,密码,注释信息,就不需要输入回车键即可完成创建:

  

<代码> ssh - keygen - t rsa - f ~/sh/id_rsa - n shoufeng - c shoufeng

  

(3)前往~/sh/目录下查看生成的文件:
  

        #生成的文件以test_rsa开头,test_rsa是私钥,test_rsa.pub是公钥:   (root@localhost . ssh) # ls   test_rsa test_rsa.pub      #通过猫命令查看公钥文件:   (root@localhost . ssh) #猫id_rsa . pub   将AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji ruzl3p6ntzqfhbs0itcy0ypijggx4exyipflvilv2bsxrincvv73vnydvyl5glhsrgox/cp0 + 8 + 372 wovlanq7mxq06qaonjurd0c64xqdjfkb1ovs/nyKaOr9D8yq FxfwKqK7TzJM0cVBAG7 + YR8lc9tJTCypmNXNngiSlipzjBcnfT + 5 vtcfsenfujd60dmzdzrqtxgfss2j34cucztqssitmyf3dyhqmrxl + cJ2vjZWVZRU6IY7BpqJFWwfYY9m8KaL0PZ + JJuaU7ESVBXf6HJcQhYPp2bTUyff + vdV shoufeng   #可以看到最后有一个注释内容shoufeng

Linux配置SSH免密登录“SSH - keygen”的基本用法