Linux下设置安全密钥登录
步骤:
1、本地生成密钥(公钥和私钥):
(1) 本地是 Windows 系统:
打开 XShell ,选择 Tool >> New User Key Wizard
密钥长度可以是1024或2048,导出公钥,假设文件名为:
Ubuntu_59_rsa_2048.pub
(2) 本地是 Linux 系统:
ssh-keygen -t rsa -b 2048 #-b 参数指定长度
执行密钥生成命令,基本上是一路回车既可以了,但是需要注意的是:执行命令的过程中是会提示呢输入密钥的密码的,不需要密码直接回车。密钥生成后会在当前目录下产生两个文件:id_rsa和id_rsa.pub,其中id_rsa是私钥,id_rsa.pub是公钥。
2、服务器设置
使用XShell的ssh方式登录服务器,切换到root用户
在用户主目录创建 .ssh 文件夹(没有的话), mkdir .ssh cd .ssh apt install lrzsz (或 yum install lrzsz) (安装 rzsz 软件) rz (上传公钥文件 Ubuntu_59_rsa_2048.pub) 在.ssh 文件夹下创建认证文件authorized_keys,把公钥导入其中: cat Ubuntu_59_rsa_2048.pub > authorized_keys 设置文件权限,防恶意篡改 chmod 600 authorized_keys chmod 700 /root/.ssh 编辑 ssh 的主配置文件: vim /etc/ssh/sshd_config 取消注释并修改成如下: StrictModes no //设置为no RSAAuthentication yes //Ubuntu 16 有此项 PubkeyAuthentication yes //开启密钥登陆 AuthorizedKeysFile .ssh/authorized_keys 重启ssh服务: systemctl restart sshd
3、在 XShell 中测试密钥登录
4、关闭ssh 密码登陆
测试成功则编辑配置文件关闭 ssh 密码方式登陆
vim /etc/ssh/sshd_config PasswordAuthentication no //关闭ssh 密码登陆