Linux/UNIX下 ssh-keygen 设置SSH无密码登录

一、SSH简介

    SSH是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下SSH链接是需要密码认证的,但是可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和SSH认证。


二、公钥认证基本细想:

  对信息的加密和解密采用不同的key,这对key分别称作private key和public key,其中,public key存放在欲登录的服务器上,而private key为特定的客户机所持有。

    当客户机向服务器发出建立安全连接的请求时,首先发送自己的public key,如果这个public key是被服务器所允许的,服务器就发送一个经过public key加密的随机数据给客户机,这个数据只能通过private key解密,客户机将解密后的信息发还给服务器,服务器验证正确后即确认客户机是可信任的,从而建立起一条安全的信息通道。

    通过这种方式,客户机不需要向外发送自己的身份标志“private key”即可达到校验的目的,并且private key是不能通过public key反向推断出来的。这避免了网络窃听可能造成的密码泄露。客户机需要小心的保存自己的private key,以免被其他人窃取,一旦这样的事情发生,就需要各服务器更换受信的public key列表。


、无密码登录实现方式

使用:ssh-keygen:生成秘钥,具体参数详情请查阅 man 手册

其中:

  -t指定算法
  -f 指定生成秘钥路径
  -N 指定密码

Eg:

1)、生成一个DSA 签名:

<span style="font-size:14px;">wangye@debian:~$ ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/wangye/.ssh/id_dsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/wangye/.ssh/id_dsa.
Your public key has been saved in /home/wangye/.ssh/id_dsa.pub.
The key fingerprint is:
07:ee:d9:b7:86:3e:eb:03:d1:87:47:c8:18:62:e8:45 wangye@debian
The key's randomart image is:
+--[ DSA 1024]----+
|     oE .+ .     |
|    ..... o .    |
|   . .  .. o     |
|    .  ...o o    |
|        S..o     |
|       ..+       |
|        o....    |
|          +...   |
|         o+=.    |
+-----------------+</span>


2)、查看钥匙:这时可以看到 ssh 目录下生成了两枚钥匙

<span style="font-size:14px;">wangye@debian:~$ ls -l .ssh/
总用量 12
-rw------- 1 wangye wangye  668  7月 21 15:34 id_dsa
-rw-r--r-- 1 wangye wangye  603  7月 21 15:34 id_dsa.pub
-rw-r--r-- 1 wangye wangye 2882  7月 17 10:18 known_hosts</span>



id_dsa:这个文件中的内容是私钥

id_dsa.pub : 这个文件中的内容是公钥,生成的dsa签名的公钥是给对方机器使用的。然后目标机器

接收后设定相关权限(公钥和authorized_keys 权限),这台目标机器就能被生成数字签名的机器无密码

访问了。


参考:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值