Ssh-keygen

来自linux中国网wiki
跳到导航 跳到搜索


ssh-keygen

用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。

-C:添加注释; -f:指定用来保存密钥的文件名
-f:指定用来保存密钥的文件名;

-t:指定要创建的密钥类型。

如果key 要密码 

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

#知识点 缺点 
   DSA 只能用于数字签名,而无法用于加密(某些扩展可以支持加密);RSA 即可作为数字签名,也可以作为加密算法。不过作为加密使用的 RSA 有着随密钥长度增加,性能急剧下降的问题。

   RSA 与 DSA 各有优缺点,那有没一个更好的选择呢?答案是肯定的,ECC(Elliptic Curves Cryptography):椭圆曲线算法。

 在 ssh-keygen 中,ECC 算法的相应参数是 “-t ecdsa”。可惜的是由于椭圆曲线算法只有在较新版本的 openssl 与 ssh-keygen 中才被支持,而无法得到普遍使用而去完全替代 RSA/DSA。不过由于椭圆曲线算法的优点,使其取代 RSA/DSA 而成为新一代通用的非对称加密算法成为可能,至少 SET 协议的制定者们已经把它作为下一代 SET 协议中缺省的公钥密码算法了


SSH 密钥类型的的选择(RSA, DSA or Other)

举例

#建议用这个 
#######
ssh-keygen -t ecdsa -C freebsd

% cat  .ssh/id_ecdsa.pub 
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLxz+f3DW9jYoBHO8CUGXawHUpA2GRsLPB59xlrBat9eU7Sx461zNkSNfYDWI+Cg4l4VxENv1gOiWesUBKlbqfw= freebsd

[email protected]:~ % ls .ssh/
authorized_keys	id_ecdsa	id_ecdsa.pub	known_hosts
#######


[[email protected] .ssh]# ssh-keygen -C evanlovekey  -f evankey
[[email protected] .ssh]# ls 
authorized_keys    evankey  evankey.pub  known_hosts
http://man.linuxde.net/ssh-keygen

ssh-copy-id

ssh-copy-id -f  -i lkey.pub   [email protected] #有时要加-f