Pwner's Blog

能全力以赴不尽力而为

0%

密钥登录服务器的配置

使用密码口令登录服务器会有两个问题:

  • 安全问题,容易产生口令泄漏等安全风险
  • 口令较长,每次都需要输入口令较为繁琐

基于此,总结下解决方案。

口令较长的问题可以用 sshpass 来解决每次都需要输入长密码的烦恼,但是使用 sshpass 是极其不安全的,因为所有系统上的用户在命令行中通过简单的 ps 命令就可看到密码。

所以,目前较为安全的 SSH登录验证方式还是采用密钥登录。

环境

  • Win 10
  • CentOS 7
  • Windows Terminal 等命令行工具

Windows 配置

生成 SSH 密钥

查看用户目录/.ssh 目录,如果有 id_rsa.pubid_rsa 文件,则此步跳过。

否则执行以下命令生成密钥。

1
ssh-keygen -t rsa

其中 id_rsa.pub 为公钥,id_rsa 为私钥。

CentOS 配置

添加公钥

root 用户为例,其他用户操作类似,只需要将操作目录换成目标用户目录即可。如用户为 zhangsan,则只需要将 ~/(即 /root/)换成 /home/zhangsan/ 就可以。

1
2
mkdir ~/.ssh
touch ~/.ssh/authorized_keys

上传在 Win10 生成的公钥文件CentOS 并追加内容到 authorized_keys

1
2
3
scp .\id_rsa.pub root@192.168.0.2:~/
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub

重启 SSH

1
systemctl restart sshd

修改目录权限

1
2
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
如果文章对你有用,可以请我喝杯咖啡~
  • 本文作者: Pwner
  • 本文链接: https://pwner.cn/posts/ed741d75.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!