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

相关推荐

  • find查找命令及压缩

    文件查找     在文件系统上查找符合条件的文件;     文件查找: locate, find         非实时查找(数据库查找): locate    &nbs…

    Linux干货 2016-08-18
  • Linux进程及作业管理总结

    一、简介     在使用Windows操作系统中很多时候需要查看某些程序进程的运行情况,一般来说我们可以打开Windows提供的"任务管理器",然后点击"进程"栏即可查看到当前系统运行的进程列表。例如偶尔出现系统内存、CPU占用过高的时候,我们往往都会查看进程列表,并找到当前占用内存或CPU过高的进…

    Linux干货 2015-10-05
  • Linux系统上命令的使用格式与十二个常用命令详解

    Linux系统上命令的使用格式 命令的语法通用格式: ~]# COMMAND OPTIONS ARGUMENTS 例如: ls -ld /var COMMAND(命令): ls ls命令用来显示目标列表 OPTIONS(选项): -ld -ld 是 -l -d 的简写 -l 以详细格式列表 -d 仅列目录 ARGUMENTS(参数): /var 命令对这个/…

    2018-02-26
  • N26 – 第三周作业

    1、列出当前系统上所有已登录的用户的用户名,同一用户登录多次只显示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登录到当前系统的用户的相关信息     ~]#id $(last | h…

    Linux干货 2017-01-03
  • 文本处理三剑客之grep

    grep命令基本用法 1、grep正则表达式(对文本行进行搜索过滤) 格式:grep [option] PATTERN [FILE…] option: -i:忽略大小写 -v:取反,显示未被匹配到的pattern -n:显示匹配的行号 -c:统计匹配的行数 -o: 只显示匹配到的pattern -q: 静默,不予显示 -A#:after,匹配到的行再向后…

    Linux干货 2017-07-19
  • Linux基础之用户管理和正册表达式

    1.1.复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限 [root@localhost home]# cp -r /etc/skel/ /home/tuser1 [root@localhost home]# chmod -R go= tuser1/ [root@localhos…

    2017-09-18