Linux下SSH配置密钥key登录禁用密码登录

首先需要在ROOT用户下

操作步骤如下

1 创建用户haoduck

  1. useradd haoduck

2 创建haoduck用户ssh密钥文件夹

  1. mkdir p /home/haoduck/.ssh/
  2. chmod 700 /home/haoduck/.ssh/

3 创建公钥文件

公钥文件一般从自己的电脑上生成,诸如XShell、MobaXterm等工具都是可以生成的。这里就不赘述了

  1. vim /home/haoduck/.ssh/authorized_keys
  2. chmod 600 /home/haoduck/.ssh/authorized_keys
  3. chown R haoduck /home/haoduck/.ssh/ #设置文件所有者为新用户haoduck

4 配置sudo权限(可选)

在最后添加一行haoduck ALL=(ALL) ALL或者haoduck ALL=(ALL) NOPASSWD: ALL,后者可以免密码使用sudo

  1. chmod u+w /etc/sudoers
  2. vim /etc/sudoers
  3. chmod uw /etc/sudoers

5 修改sshd配置

  1. vim /etc/ssh/sshd_config

密钥登录:找到以下内容去掉签名的#号
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

禁用密码和ROOT登录:
找到以下内容
PasswordAuthentication yes
PermitRootLogin yes

改为
PasswordAuthentication no
PermitRootLogin no

重启sshdsystemctl restart sshdsystemctl restart sshservice sshd restartservice ssh restart

一键脚本

  1. #!/bin/bash
  2. #username=${1:=”haoduck”}
  3. #pubkey=${2:=”ssh-xxxxx”}
  4. username=“haoduck”
  5. #pubkey=”$(wget -qO- https://直链)”
  6. pubkey=“ssh-xxxxx”
  7. #yum install -y sudo
  8. #apt-get install -y sudo
  9. useradd ${username}
  10. mkdir p /home/${username}/.ssh/
  11. chmod 700 /home/${username}/.ssh/
  12. echo $pubkey > /home/${username}/.ssh/authorized_keys
  13. chmod 600 /home/${username}/.ssh/authorized_keys
  14. chown R ${username} /home/${username}/.ssh/
  15. #sudo配置
  16. chmod u+w /etc/sudoers
  17. echo “${username} ALL=(ALL) ALL” > /etc/sudoers.d/${username}
  18. #echo “${username} ALL=(ALL) NOPASSWD: ALL” > /etc/sudoers.d/${username}
  19. #sshd配置
  20. sshd_file=“/etc/ssh/sshd_config”
  21. cp n $sshd_file /etc/ssh/sshd_config.bak
  22. sed i “s|#\?RSAAuthentication.*|RSAAuthentication yes|” $sshd_file
  23. sed i “s|#\?PubkeyAuthentication.*|PubkeyAuthentication yes|” $sshd_file
  24. sed i “s|#AuthorizedKeysFile .ssh/authorized_keys|AuthorizedKeysFile .ssh/authorized_keys|” $sshd_file
  25. #sed -i “s|#\?PasswordAuthentication.*|PasswordAuthentication no|” $sshd_file
  26. #sed -i “s|#\?PermitRootLogin.*|PermitRootLogin no|” $sshd_file
  27. systemctl restart sshd;systemctl restart ssh;service sshd restart;service ssh restart

如果只需要用ROOT用户,可以省略添加用户的步骤,一键脚本如下:

  1. #pubkey=”$(wget -qO- https://直链)”
  2. pubkey=“ssh-xxxxx” #这里改成你的公钥
  3. mkdir p /root/.ssh/
  4. chmod 700 /root/.ssh/
  5. echo $pubkey > /root/.ssh/authorized_keys
  6. chmod 600 /root/.ssh/authorized_keys
  7. sshd_file=“/etc/ssh/sshd_config”
  8. cp n $sshd_file /etc/ssh/sshd_config.bak
  9. sed i “s|#\?RSAAuthentication.*|RSAAuthentication yes|” $sshd_file
  10. sed i “s|#\?PubkeyAuthentication.*|PubkeyAuthentication yes|” $sshd_file
  11. sed i “s|#AuthorizedKeysFile .ssh/authorized_keys|AuthorizedKeysFile .ssh/authorized_keys|” $sshd_file
  12. sed i “s|#\?PasswordAuthentication.*|PasswordAuthentication no|” $sshd_file
  13. sed i “s|#\?PermitRootLogin.*|PermitRootLogin yes|” $sshd_file
  14. systemctl restart sshd;systemctl restart ssh;service sshd restart;service ssh restart

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/169.html

(0)
mantoumantou
上一篇 2021年4月28日
下一篇 2021年4月30日

相关推荐

  • 自建Gravatar国内+全球镜像加速服务

    很多网站及项目都使用了Gravatar的头像,由于政策和国际网路带宽波动等原因,Gravatar在不同时段不同地区,加载十分缓慢,甚至无法加载,甚至影响访客粘度以及增加跳出率,所以…

    2021年6月8日
  • 全自动优选香港阿里云的CloudFlare优选反代Cname

    开发环境 代码由Grok替我修改完成 语言为Pyhton 脚本由我自己提需求和反复测试完成我自己是不会写代码的 但我脑海里有程序最终效果的画面我会测试 会找bug 承认自己不会写代…

    2025年1月4日
  • IP属地查询源码(包含前端和后端源码) – 支持IPV4/V6

    文章前言 本源码调用纯真和zxinc离线数据库支持IPV4 IPV6数据库 注意 现在纯真已经不维护免费的IP数据库了 大家且用且珍惜吧! 页面截图 源码下载 IP属地查询源码 来…

    2022年12月10日
  • WordPress迁移更换域名 固定链接404 修改SSH端口

    前言 WordPress迁移可以分为以下几种情况: 仅更改域名 仅更改服务器 变更域名+服务器 下面就以这三种情况,可以实现的方式有很多,选取了一种适合自己的,把需要进行的操作记录…

    代码程序 2021年4月15日
  • Nginx 反向代理ddns网站

    由于一些原因,需要反向代理一些ip经常变化的站点,最初以为只要把域名填好就行,ip变化的时候,nginx会根据ddns域名来回源,但是事实并非如此,在每一次更换ip地址之后,都要r…

    代码程序 2021年5月16日
  • SSH链式端口转发:本地端口转发+远程端口转发

    SSH本地端口转发与SSH远程端口转发结合起来使用,可以进行链式转发。   假设A主机在公司,B主机在家,C主机为远程云主机。 A主机上运行了Node.js服务,需要在B…

    2021年4月4日
  • WordPress导航菜单添加小字hot、new、推荐等

    如果你看到别人的WordPress网站,导航菜单有小字,也叫角标,自己不知道怎么添加,那么下面的教程可以让你也用上。 比如我网站上的限时优惠和感谢打赏这两个小字都是一样的方式实现的…

    代码程序 2021年3月21日
  • 3种方式修改 wordpress 用户名

    在数字化时代,WordPress作为世界上最流行的开源内容管理系统之一,被无数网站管理员和个人用户所使用,以创建和管理他们的在线存在。然而,随着用户的不断变更和安全需求的提高,修改…

    2025年7月15日
  • 如快-跨平台启动器

    之前一直在 mac 端使用 Raycast 这款启动器,觉得挺好用也挺好看的,特别是里面的快捷链接功能,非常的好用。 后面每次用自己的 Windows 的时候,总是感觉少了点什么,…

    2025年6月30日
  • 在 GitHub 中隐藏自己的邮箱地址

    如何找到Github用户的邮箱 在介绍隐藏前首先咱们要知道,如何查看开发者的邮箱。 情况一 :对方主页上写了邮箱 这种最简单,大部分的开发者都会在Github主页留下自己的联系邮箱…

    2024年9月20日

发表回复

登录后才能评论