Linux禁用密码登录使用ssh密钥登录以及Linux 禁止root用户ssh登陆
生成ssh密钥
# 执行生成公钥、密钥,生成保存目录为 ~/.ssh
ssh-keygen -t rsa # 如果不需要修改生成目录,设置密码等可一路回车即可
- 我用root用户登录,
- 阿里云服务器在 /root下已经存在 .ssh
- 如果不存在手动建.ssh
# mkdir .ssh
# chmod 700 .ssh/
- 将公钥上传到 .ssh目录下,然后执行以下操作
$ cd .ssh/
$ cat id_dsa_1024.pub > authorized_keys
$ chmod 600 authorized_keys
- 修改 /etc/ssh/sshd_config 配置文件
#vim /etc/ssh/sshd_config
# 禁止密码登录
PasswordAuthentication no
# 允许公钥认证
PubkeyAuthentication yes
# 认证key文件位置
AuthorizedKeysFile .ssh/authorized_keys
# PermitRootLogin no 将 yes 改为 no 将禁止 root用户ssh登陆
- 重置sshd_config生效,执行以下命令
#service sshd restart
添加ssh公钥到目标服务器
#!/bin/sh
cat ./id_rsa.pub >> /root/.ssh/authorized_keys
echo "添加成功"
- 此时可以通过 id_rsa 密钥登录服务器