M22 使用非对称密钥实现ssh自动登陆

一 实验目的

一般在用户使用ssh客户端登陆ssh服务器时需要使用用户名和密码,本实验使用非对称加密的方式实现了无密码登陆ssh服务器。

二 实验流程

M22 使用非对称密钥实现ssh自动登陆 、

1 在客户端生成非对称密钥对

2 将非对称密钥中的公钥发送给ssh服务器端相应的帐号

3 当客户端通过ssh协议与服务器端发起连接时,客户端将私钥加密过的签名发送给服务器端,服务器端使用客户端的公钥确认该签名有效并通过认证,然后建立ssh连接

三 实验过程

1 客户端生成非对称密钥

# cd ~/.ssh

使用ssh-keygen命令可以自动生成密钥对

ssh-keygen的用法如下:
ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-p new_passphrase] [-C comment] [-f output_keyfile]
-q:安静模式
-b:指定生成密钥的大小
-t:加密类型
-p:设置私钥的密码
-C:注释
-f:指定输出文件名

在这里直接使用缺省参数即可创建没有口令的非对称密钥对,也可以在后续选项里添加私钥密码

# ssh-keygen

或者使用-p参数将没有密码的私钥加密

# ssh-keygen -p -f id_isa

然后使用在登陆ssh服务器之前使用ssh agent管理链接,如果私钥未被加密,可以省略此步骤

# ssh-agent bash
# ssh-add

2 将私钥传送给ssh服务器

使用ssh-copy-id命令可以自动将私钥发送给ssh服务器端,并自动更改密钥名称

ssh-copy-id [-f] [-n] [-i [identity_file]] [-p port] [-o ssh_option] [user@]hostname

可选参数有:
-f:强制模式,不检测服务器上是否已经有了私钥
-n:检测服务器上的账户是否已经有客户端的公钥
-i:确认文件内容
-p:设置ssh端口
-o:设置ssh选项

在本实验使用如下方法:

# ssh yangfan@172.18.55.6

3 连接ssh服务器

# ssh yangfan@172.18.55.6
Last login: Wed Apr 12 22:21:24 2017 from 172.18.100.9
[yangfan@centos6 ~]$

实现了自动登陆

4 更新密钥

如果遇到客户端需要更换密钥的情况,需要重复以上步骤,最后执行如下命令将私钥更新到ssh-agent

# ssh-add

原创文章,作者:realmaster,如若转载,请注明出处:http://www.178linux.com/73235

赞 (0)
realmasterrealmaster
上一篇 2017-04-12 10:28
下一篇 2017-04-13 11:35

相关推荐

  • 用NFS搭建wordpress让两台httpd服务同时服务

    一、博客实践作业: (1) nfs server导出/data/application/web,在目录中提供wordpress;  (2) nfs client挂载nfs server导出的文件系统至/var/www/html; (3) 客户端(lamp)部署wordpress,并让其正常访问;要确保能正常发文章,上传图片; (4) 客户端2(la…

    2017-06-07
  • 系统基础之文件管理工具

    系统基础之文件管理工具   linux的重要哲学思想之一,一切皆文件.那作为系统管理员,就要求对文件的操作管理特别熟悉.那么下面介绍的一个工具可以帮助到大家,更有效,快捷的完成对文件的处理.下面让我们来认识以下的工具. 文本工具: 文件内容:   cat: 复制标准输入到标准输出     选项:   &nbs…

    Linux干货 2016-08-07
  • 网络管理命令

    网络管理

    Linux干货 2018-01-07
  • 105-MHA

    一.MHA简介 1.1.简介         MHA(Master HA ) 是一款开源的 MySQL高可用程序,它为MYSQL 主从复制架构提供了automating master failover 主节点自动迁移功能.MHA在监控到master节点故障时候,会自动提升拥有的数据最近进于主节点的其他从节点为主节点,

    2016-11-27
  • Shell脚本编程中的变量

    一、什么是变量?   变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问 二、变量的种类有哪些? 本地变量 生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效 环境变量 生效范围为当前shell进程及其子进程 局部变量 生效范围为当前shell进程中…

    Linux干货 2016-08-13
  • 第一次作业

    第一次作业 作业1 博客 作业2 echo -e "\033[49;31;4;5m*******\033[0m \n\033[49;32;4;5m ***** \033[0m \n\033[49;33;4;5m  ***  \033[0m \n\033[49;34;4;5m   *   \033[0m&quo…

    Linux干货 2016-08-03