ssh-keygen - 认证密钥的产生, 管理和转换
总览 (SYNOPSIS)
ssh-keygen -words [-q ] [-b bits ] -t type [-N new_passphrase ] [-C comment ] [-f output_keyfile ] ssh-keygen -p [-P old_passphrase ] [-N new_passphrase ] [-f keyfile ] ssh-keygen -i [-f input_keyfile ] ssh-keygen -e [-f input_keyfile ] ssh-keygen -y [-f input_keyfile ] ssh-keygen -c [-P passphrase ] [-C comment ] [-f keyfile ] ssh-keygen -l [-f input_keyfile ] ssh-keygen -B [-f input_keyfile ] ssh-keygen -D reader ssh-keygen -U reader [-f input_keyfile ]
描述 (DESCRIPTION)
为 ssh(1) 产生, 管理和转换认证密钥. 能够产生 SSH 协议第一版需要的 RSA 密钥和 SSH 协议第二版需要的 RSA 或 DSA 密钥. 密钥类型可以用 -t 选项指定.
一般说来, 如果用户希望在 SSH 中使用 RSA 或 DSA 认证, 他应该运行一次这个程序, 在 $HOME/.ssh/identity $HOME/.ssh/id_dsa 或 $HOME/.ssh/id_rsa 文件中创建认证所用的密钥. 另外, 系统管理员可以用它产生主机密钥(host key), 如 /etc/rc 中所见.
正常情况下, 这个程序产生密钥对, 并要求指定一个文件存放私钥. 公钥存放在同名文件中, 只是多了个 ``.pub'' 后缀. 程序同时要求输入一个密语(passphrase). 密语可以为空, 表示没有密语 (主机密钥的密语必须为空), 也可以是任意长度的字符串. 密语和口令(password)非常相似, 但是密语可以是一句话, 里面有单词, 标点符号, 数字, 空格或任何你想要的字符. 好的密语有 10-30 个字符, 非简单句, 难以猜出 (英文只有 1-2 比特的字符熵, 对密语来说非常糟糕), 由大小写字母, 数字, 非字母混合组成. 密语可以用 -p 选项修改.
丢失的密语不可能恢复. 如果丢失或忘记了密语, 用户必须产生新的密钥, 然后把相应的公钥分发到其他机器上去.
RSA1 的密钥文件中有一个注释域, 可以方便用户标识这个密钥, 指出密钥的用途或其他有用的信息. 创建密钥的时候, 注释域初始化为 ``user@host'' 以后可以用 -c 选项修改.
密钥产生后, 下面的命令描述了怎样处置和激活密钥.
可用的选项有:
- -b bits
- 指定密钥的位长. 最短为 512 比特. 一般认为 1024 位已经足够了. 默认为 1024 位.
- -c
- 要求修改私钥和公钥文件中的注释. 本选项只支持 RSA1 密钥. 程序将提示输入私钥文件名, 密语(如果存在)和新的注释.
- -e
- 此选项读取 OpenSSH 的私钥或公钥文件, 以 `SECSH 公钥文件格式' 将密钥显示在 stdout. 该选项能够为多种商业版本的 SSH 输出密钥.
- -f filename
- 指定密钥文件名.
- -i
- 此选项读取未加密的, 兼容 SSH2 格式的私钥 (或公钥) 文件, 然后在 stdout 显示兼容 OpenSSH 的私钥 (或公钥). 同样识别 `SECSH 公钥文件格式' 该选项能够从多种商业版本的 SSH 输入密钥.
- -l
- 显示某公钥文件的指纹数据. 它也支持 RSA1 的私钥. 对于 RSA 和 DSA 密钥, 寻找对应的公钥文件, 然后显示其指纹数据.
- -p
- 要求改变某私钥文件的密语, 而不是重建私钥. 程序将提示输入私钥文件名, 原来的密语, 以及两次输入新密语.
- -q
- 安静模式. 用于 /etc/rc 创建新密钥的时候.
- -y
- 此选项读取 OpenSSH 格式的私钥文件, 然后在 stdout 显示 OpenSSH 的公钥.
- -t type
- 指定创建密钥的类型. 可选项有协议第一版的 ``rsa1'' 和协议第二版的 ``rsa'' 或 ``dsa''
- -B
- 显示指定的私钥或公钥文件的内容摘要.
- -C comment
- 提供新的注释.
- -D reader
- 下载存储在智能卡 reader 上的 RSA 公钥.
- -N new_passphrase
- 提供新的密语.
- -P passphrase
- 提供 (旧的) 密语.
- -U reader
- 把现存的 RSA 私钥上传到智能卡 reader
文件 (FILES)
- $HOME/.ssh/identity
- 包含协议第一版的 RSA 用户身份数据. 除了该用户, 不应让其他人读取这个文件. 产生密钥的时候可以采用密语; 3DES 用密语加密文件的私有部分. 不能自动访问这个文件, 但是把它定义为私钥的默认文件. 登录的时候, ssh(1) 将访问这个文件.
- $HOME/.ssh/identity.pub
- 包含协议第一版的 RSA 公钥. 如果想用 RSA 认证方式远程登录, 文件内容应该添加到所有目标主机的 $HOME/.ssh/authorized_keys 文件中. 此文件内容无需保密.
- $HOME/.ssh/id_dsa
- 包含协议第二版的 DSA 用户身份数据. 除了该用户, 不应让其他人读取这个文件. 产生密钥的时候可以采用密语; 3DES 用密语加密文件的私有部分. 不能自动访问这个文件, 但是把它定义为私钥的默认文件. 登录的时候, ssh(1) 将访问这个文件.
- $HOME/.ssh/id_dsa.pub
- 包含协议第二版的 DSA 公钥. 如果想用 DSA 认证方式远程登录, 文件内容应该添加到所有目标主机的 $HOME/.ssh/authorized_keys 文件中. 此文件内容无需保密.
- $HOME/.ssh/id_rsa
- 包含用户的协议第二版的 RSA 身份数据. 除了该用户, 不应让其他人读取这个文件. 产生密钥的时候可以采用密语; 3DES 用密语加密文件的私有部分. 不能自动访问这个文件, 但是把它定义为私钥的默认文件. 登录的时候, ssh(1) 将访问这个文件.
- $HOME/.ssh/id_rsa.pub
- 包含协议第二版的 RSA 公钥. 文件内容应该添加到所有机器, 如果想用 DSA 认证方式登录, 的 $HOME/.ssh/authorized_keys 文件中. 此文件内容无需保密.
ssh-keygen - 认证密钥的产生, 管理和转换的更多相关文章
- ssh-keygen - 生成、管理和转换认证密钥
通常使用:[b]ssh-keygen -i -f 公密匙名>> authorized_keys[/b]语法详细介绍[code]ssh-keygen [-q] [-b bits] -t ty ...
- 批量SSH key-gen无密码登陆认证脚本
SSH key-gen无密码登录认证脚本 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 通过 ssh-key-gen 来 ...
- 批量SSH key-gen无密码登陆认证脚本 附件脚本
# 批量实现SSH无密码登陆认证脚本 ## 问题背景 使用为了让linux之间使用ssh不需要密码,可以采用了数字签名RSA或者DSA来完成.主要使用ssh-key-gen实现. 1.通过 ssh-k ...
- [转]SSH 原理和基本使用:ssh 安全配置 以及ssh key 认证登录
一.什么是 SSH ? SSH全称(Secure SHell)是一种网络协议,顾名思义就是非常安全的shell,主要用于计算机间加密传输.早期,互联网通信都是基于明文通信,一旦被截获,内容就暴露无遗. ...
- 转: SSH 公钥认证
转: http://blog.knownsec.com/2012/05/ssh-%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81/ SSH 公钥认证 2012-05-15 简介 ...
- SSH公钥认证+优化
一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥 ...
- Linux配置SSH公钥认证与Jenkins远程登录进行自动发布
公钥认证,是使用一对加密字符串,一个称为公钥(public key), 任何人都可以看到其内容,用于加密:另一个称为密钥(private key),只有拥有者才能看到,用于解密. 在使用jenkins ...
- ssh公钥认证原理及设置root外的其他用户登录ssh
1)创建其他用户 useradd [-d 登录目录] [-G ssh][用户名] 一定要将用户添加到ssh组不然无法没有权限登录ssh 2)设置ssh不允许root登录 vi /etc/ssh/ss ...
- # openVPN+LDAP AD认证,组权限管理
# openVPN+LDAP AD认证,组权限管理 原创内容http://www.cnblogs.com/elvi/p/7661178.html # openVPN+LDAP AD认证,组权限管理 # ...
随机推荐
- Windows里服务中没有 MySQL
1.以管理员身份启动命令提示符 2.安装并启动MySQL服务 C:\Windows\system32>mysqld.exe -installService successfully instal ...
- python 全栈开发,Day45(html介绍和head标签,body标签中相关标签)
一.html介绍 1.web标准 web准备介绍: w3c:万维网联盟组织,用来指定web标准的机构(组织) web标准:制作网页遵循的规范 web准备规范的分类:结构标准.表现标准.行为标准. 结构 ...
- BZOJ 2726: [SDOI2012]任务安排 斜率优化 + 凸壳二分 + 卡精
Code: #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) # ...
- 使用CFStringTransform将汉字转换为拼音
之前做通讯录相关的一些App时,有一个比较常用的算法是将汉字转换成拼音.当时采用的做法是:将各个拼音段的首个汉字(按Unicode排序)做成两个数组,一个数组存拼音,另一个数组存拼音对应首个汉字的Un ...
- womenzijide_jiafenxiang
<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Conten ...
- 影视感悟专题---1、B站-魔兽世界代理及其它乱七八糟
影视感悟专题---1.B站-魔兽世界代理及其它乱七八糟 一.总结 一句话总结: 看过的东西都可以学下,这样既可以学习那些东西,都是对自己生活学习有帮助的,还可以弥补自己每天学的东西的不够 1.< ...
- 【经验分享】 解决CentOS7 安装VMTools提示找不到Kernel头文件的方案
配置一个Linux的开发环境,用VM10+CentOS7(Kernel版本3.10.0-327.10.1.el7),之后发现VMTools功能不全,查证后发现需要卸载重装,于是开始折腾. 按照各种说明 ...
- Cookie 记录最后访问时间
package cn.gs.ly.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.D ...
- 【ABAP系列】SAP ABAP 工单增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 工单增强 ...
- MySQL 查询语句--------------进阶7:子查询
#进阶7:子查询 /* 含义: 出现在其他语句中的select语句,称为子查询或者内查询 外部的查询语句,称为主查询或外查询 分类: 按照子查询出现的位置: select后面:只支持标量子查询 fro ...