当前位置: 首页 > news >正文

linux新机快速配置ssh

配置SSH以实现证书登录

要配置新的Linux机器以实现证书登录,您需要执行以下步骤:

  1. 安装SSH服务器:

    sudo apt-get install openssh-server
    
  2. 修改SSH端口(可选):

    • SSH配置文件(通常位于/etc/ssh/sshd_config),
      #Port 22
      
      修改为所需的端口号,并重新启动SSH服务
    sudo systemctl restart sshd
    
  3. 创建新的管理员账户和普通账户:

    • 您可以使用以下命令创建新的管理员账户和普通账户。将<username>替换为您想要创建的用户名。
      • 创建管理员账户:
        sudo adduser <username>
        sudo usermod -aG wheel <username>
        sudo passwd <username>
        
      • 创建普通账户:
        sudo adduser <username>
        sudo passwd <username>
        
  4. 配置证书登录:

    • 生成SSH密钥对:
      • 在本地计算机,并使用以下命令生成SSH密钥对:
        ssh-keygen -t rsa
        
    • 将公钥复制到Linux机器:
    mkdir -p ~/.ssh
    cd ~/.ssh
    touch ~/.ssh/id_rsa.pub
    vim ~/.ssh/id_rsa.pub
    
    • 使用以下命令将公钥复制到Linux机器上的新账户的~/.ssh/authorized_keys文件中:
      ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<linux_machine_ip>
      
    • 输入新账户的密码进行验证。
    • 将id_rsa.pub改成600权限(最安全且不容易引起ssh权限出错的权限。如设置为400(只读)最最为安全,但有可能引起ssh权限错误)
    sudo chmod 600 ~/.ssh/id_rsa.pub
    
    • 禁用root密码登录,启用普通用户密码登录(默认配置已有):

      sudo vim /etc/ssh/sshd_config
      
      • PermitRootLogin prohibit-password
      • PasswordAuthentication yes

      保存文件并重新启动SSH服务以使更改生效。

      sudo systemctl restart sshd
      
  5. 设置SELinux和Firewalld开放端口:

    • SELinux:
      sudo dnf install policycoreutils-python-utils
      sudo setsebool -P sshd_use_ssh_keysign on
      
    • Firewalld:
      sudo firewall-cmd --permanent --add-service=ssh
      sudo firewall-cmd --reload
      
  6. 重启SSH服务:

    • 最后,使用以下命令重启SSH服务以使所有更改生效:
      sudo systemctl restart sshd
      

      快速配置:
#!/bin/bash# 安装SSH服务器
sudo apt-get install openssh-server -y# 修改SSH端口(可选)
sudo sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshd_config
sudo systemctl restart sshd# 创建新的管理员账户
read -p "请输入管理员账户名: " admin_username
sudo adduser $admin_username
sudo usermod -aG sudo $admin_username# 创建新的普通账户
read -p "请输入普通账户名: " normal_username
sudo adduser $normal_username# 配置证书登录
read -p "请输入本地计算机上生成的公钥文件路径: " public_key_path
ssh-copy-id -i $public_key_path $admin_username@localhost
ssh-copy-id -i $public_key_path $normal_username@localhost# 禁用root密码登录
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin without-password/g' /etc/ssh/sshd_config
sudo systemctl restart sshd# 设置SELinux和Firewalld开放端口
sudo setsebool -P sshd_use_ssh_keysign on
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload# 重启SSH服务
sudo systemctl restart sshdecho "SSH配置完成!"
http://www.lryc.cn/news/352753.html

相关文章:

  • 使用elementUI的form表单校验时,错误提示位置异常解决方法
  • Android面试题之Kotlin常见集合操作技巧
  • 网络拓扑—DNS服务搭建
  • Mybatis-Plus笔记
  • “高考钉子户”唐尚珺决定再战2024年高考
  • Hive安装教程
  • 使用Python Tkinter创建GUI应用程序
  • 使用 RT 矩阵进行 3D 点云变换详解(基于 PCL 和 Eigen 库)
  • CTFHUB技能树——SSRF(二)
  • Vue3实现简单的瀑布流效果,可抽离成组件直接使用
  • 【已解决】C#如何消除Halcon上一次显示窗口的涂层
  • XShell-连接-Centos 7
  • vue3 组件刷新
  • Java进阶学习笔记14——模板方法设计模式
  • Centos7静态路由和动态路由
  • 戴尔(Dell)服务器运行状况监控
  • vue3文档v-model.xxxx自定义修饰符
  • 微信小程序毕业设计-智慧旅游平台系统项目开发实战(附源码+演示视频+LW)
  • 抖音小店新规又来了!平台下调了两项门槛,惊掉商家下巴!
  • 【启程Golang之旅】运算符与流程控制讲解
  • Docker: exec命令浅析
  • c++的查漏补缺 1、函数指针
  • uniapp+php服务端实现苹果iap内购的消耗性项目和非续期订阅项目,前后端代码加逻辑分析
  • 【代码随想录】【算法训练营】【第11天】 [20]有效的括号 [1047]删除字符串中的所有相邻重复项 [150]逆波兰表达式求值
  • vue实现图片懒加载
  • Python | Leetcode Python题解之第101题对称二叉树
  • 周报5.20~5.26
  • RDP方式连接服务器上传文件方法
  • 网络信息安全
  • java中的对象