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 sshd

    echo "SSH配置完成!"

相关推荐
游戏开发爱好者811 分钟前
App Store 上传 IPA 自动化,.p8 密钥认证与 CI/CD 接入实战
android·运维·ci/cd·小程序·uni-app·自动化·iphone
天疆说18 分钟前
04 稳定性与性能调优实录:OOM 崩溃、并发槽位、前缀缓存与 DSpark 调参
linux·运维·缓存
微硬创新19 分钟前
大点数模拟量采集落地:耐达讯自动化32路0-20mA适配PROFINET总线实践解析
运维·人工智能·网络协议·自动化·信息与通信
星卯教育tony20 分钟前
NOI Linux 2.0 服务器多用户网页桌面部署方案(腾讯云轻量Ubuntu20.04专属版 CSP复赛比赛环境搭建免安装虚拟机 )
linux·服务器·腾讯云
GIS数据转换器1 小时前
村镇无人机物流配送与跨域监测一体化平台
大数据·运维·人工智能·科技·无人机
Forever Nore1 小时前
LeetCode 14 最长公共前缀 - 纵向扫描
linux·服务器·leetcode
拂拉氏1 小时前
【知识讲解】 Linux权限相关知识讲解
linux·权限
倔强的石头1061 小时前
飞牛OS部署Mtab:Docker搭建自托管书签导航并实现远程访问
运维·docker·容器
Shadow(⊙o⊙)1 小时前
Linux网络部分——TCP协议服务端客户端交互接口,入门级硬核解析1.0
linux·网络·tcp/ip
zhengqiqiqinqin2 小时前
Ubuntu16.04 升级ssl到3.5.7、升级ssh到9.8p1
网络协议·ssh·ssl