SSH-Keygen的使用

2020-04-15  本文已影响0人  Martain

SSH-Keygen的使用

昨天大致整理了下关于ssh连接服务器的文档,当时遇到了关于密钥的问题,今天便整理了关于ssh-keygen的文档

这里说的ssh-keygen是指的openssh版本的ssh-keygen,不是Tectia ssh版本的ssh-keygen.

第 0 章 官方说明

第一章 what is ssh-keygen?

ssh-keygen是用于为SSH创建新的身份验证密钥对的工具。此类密钥对用于自动登录,单点登录和验证主机。目前广泛的用在linux服务验证、git身份验证上。

第二章 ssh-keygen的工作原理

执行ssh-keygen可以生成一个密钥对 ,这个密钥对称为公钥文件和私钥 文件 ,例如:

生成这个密钥之后我们就可以利用这个密钥对来加密解密了。目前比较常见的使用情景有:

第三章 使用ssh-keygen来生成密钥对

3.1 ssh-keygen的帮助文档摘要

martain@martaindeMacBook-Pro .ssh % ssh-keygen --help
ssh-keygen: illegal option -- -
usage: ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa]
                  [-N new_passphrase] [-C comment] [-f output_keyfile]
       ssh-keygen -p [-P old_passphrase] [-N new_passphrase] [-f keyfile]
       ssh-keygen -i [-m key_format] [-f input_keyfile]
       ssh-keygen -e [-m key_format] [-f input_keyfile]
       ssh-keygen -y [-f input_keyfile]
       ssh-keygen -c [-P passphrase] [-C comment] [-f keyfile]
       ssh-keygen -l [-v] [-E fingerprint_hash] [-f input_keyfile]
       ssh-keygen -B [-f input_keyfile]
       ssh-keygen -D pkcs11
       ssh-keygen -F hostname [-f known_hosts_file] [-l]
       ssh-keygen -H [-f known_hosts_file]
       ssh-keygen -R hostname [-f known_hosts_file]
       ssh-keygen -r hostname [-f input_keyfile] [-g]
       ssh-keygen -G output_file [-v] [-b bits] [-M memory] [-S start_point]
       ssh-keygen -T output_file -f input_file [-v] [-a rounds] [-J num_lines]
                  [-j start_line] [-K checkpt] [-W generator]
       ssh-keygen -s ca_key -I certificate_identity [-h] [-U]
                  [-D pkcs11_provider] [-n principals] [-O option]
                  [-V validity_interval] [-z serial_number] file ...
       ssh-keygen -L [-f input_keyfile]
       ssh-keygen -A
       ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]
                  file ...
       ssh-keygen -Q -f krl_file file ...

3.2 -t 选择加密算法

ssh-keygen目前支持三种加密算法:rsa,dsa,ecdsa,默认使用的是rsa,ssh-keygen程序是交互式的,如下实例:

第四章 密钥对在linux服务器上的使用

假设有两台机器,分别为client,server,现在client想要安全的连接server,可以这么做:

4.1 单向登录

4.2 双向登录

要满足server可以连接client,只要在client上也执行上面的操作即可。

注意:要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。

chmod 600 authorized_keys

chmod 700 -R .ssh

上一篇 下一篇

猜你喜欢

热点阅读