1.Linux主机之间的密钥对登录
- 客户端需要先生成密钥对文件
ssh-keygen -t rsa -b 2048
- 这里-t指定加密类型,-b指定密钥长度,密钥长度越长,就越安全,但是密钥越长,时间也会消耗较多。
- 这里rsa加密方式已经被暴力破解,但是它的算法密钥被破解,我们在使用时,生成密钥对的长度这里必须大于1024,否则会被破解。
- 将公钥上传到服务器‘
ssh-copy-id root@10.10.31.31
这里会有两个询问:
询问一:询问密钥文件保存位置,默认保存在家目录下面的的.ssh/目录下面
询问二:询问是否对私钥进行加密,如果不对其进行加密,就是免密码登录,但是生产环境中一般要加密,因为我们公司的客户端机器一般多个人使用,如果不加密别人就可以拿着我们的私钥去登录服务器。
- 注意:密钥对登录优先级大于账号密码认证
2.Windows上进行密钥对登录Linux
- 打开xshell,点击工具的新建用户密钥生成向导,并选择加密类型与密钥长度
- 点击下一步后xshell询问我们是否进行私钥的加密,这里演示选择加密,并且输入密码,点击下一步,进入下面界面
3.切换到家目录下的/.ssh目录,复制公钥到autherized_keys文件里面,注意不要在Windows上保存为文件,然后通过winscp上传,因为Linux与Windows的编码格式不同,可能会导致乱码
cd ~/.ssh/
vim autorized_keys
- 使用window尝试登陆服务器
4.登陆成功
3.配置文件详解
1.禁止使用密码登录
生产环境中为了保护账号,密码,通常开启禁止使用密码登录功能,使用密钥登录,在/etc/ssh/sshd_config,注意这里有d,因为