SSH-公私钥认证

Linux下SSH的认证方式有两种,即密码认证和公私钥认证。

我们在日常的安全维护中,出于安全的考虑,密码不明文存放,会使用公私钥认证方式。这个时候我们就需要使用ssh-keygen,ssh-keygen是Linux下认证密钥生成、管理和转换工具。

ssh-keygen -t rsa

#参数 -t rsa 表示使用rsa算法进行加密,执行后,会在/home/当前用户/.ssh目录下找到id_rsa(私钥)id_rsa.pub(公钥)。

 常用参数详解:

-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件,并以 RFC 4716 SSH 公钥文件格式在 stdout 上显示出来; 
-C:添加注释; 
-f:指定用来保存密钥的文件名; 
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥; 
-l:显示公钥文件的指纹数据; 
-N:提供一个新密语; 
-P:提供(旧)密语; 
-q:静默模式; 
-t:指定要创建的密钥类型;
-B:显示指定的公钥/私钥文件的 bubblebabble 摘要;

生成密钥后需要将公钥复制到你需要登录的机器上,将公钥拷贝到对方机器用户目录下,并将其复制到~/.ssh/authorized_keys中。

#cat id_dsa.pub >> ~/.ssh/authorized_keys

设置文件和目录权限

设置authorized_keys权限
$ chmod 600 authorized_keys 
设置.ssh目录权限
$ chmod 700 -R .ssh

原文地址:https://www.cnblogs.com/skymyyang/p/7273465.html