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.mzph.cn/news/840569.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

产品经理-产品设计规范(六)

1. 设计规范 2. 七大定律 2.1 菲茨定律 2.1.1 概念 2.1.2 理解 2.1.3 启示 按钮等可点击对象需要合理的大小尺寸根据用户使用习惯合理设计按钮的相对和绝对位置屏幕的边和角很适合放置像菜单栏和按钮这样的元素 2.1.4 参考使用手机习惯 2.1.5 案例 2.2 席克定律 2.2.1 概念 …

Android make命令简述

Android make命令简述 Android的make系统是一个构建工具,用于管理Android应用项目的编译和构建过程。它使用Makefile文件来定义项目的编译规则和依赖关系。在Android开发中,make系统通常与NDK(Native Development Kit)一起使用,用于编译和构建 C/C++ 代码。make是GNU Mak…

MySQL8.0新特性CTE表达式递归实现累加运算 1+2+…+n 等于多少?

上一篇内容&#xff0c;通过MySQL存储过程实现累加运算 12…n 等于多少的需求&#xff0c;使用当前主流版本MySQL5.7.x 和MySQL8.0.x&#xff0c;以及最新的MySQL8.4 LST版本。 WITH AS子句在MySQL 8.0.x及更高版本中得到支持&#xff0c;而在MySQL 5.7及以下版本中则不支持。…

Spring Boot 中使用 MDC 追踪一次请求全过程(日志链路)

Spring Boot 中使用 MDC 追踪一次请求全过程&#xff08;日志链路&#xff09; ControllerLogAspect package com.yymt.common.trace;import cn.hutool.json.JSONUtil; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.…

XShell-连接-Centos 7

XShell 连接Centos 7 一.准备 安装XShell XShell下载地址&#xff1a; 在虚拟机上安装Centos 7&#xff0c;具体操作自行学习 二.Centos 7的准备 1.网络适配器修改为NAT 2.获取IP 输入命令&#xff1a; ip addr我的Centos 7对外IP为192.168.174.129 三.XShell连接Cento…

C++标准模板库(STL)简介

简述 STL&#xff08;Standard Template Library&#xff09;是一套功能强大的 C 模板类和函数的集合&#xff0c;它提供了一系列通用的、可复用的算法和数据结构。它帮住我们实现了基本的数据结构容器&#xff0c;和与之对应的操作。使用它可以减少代码长度&#xff0c;增加代…

TCP 三次握手协议能否变成二次握手

TCP 三次握手协议能否变成二次握手&#xff1f; 看了很多回答&#xff0c;都比较长&#xff0c;按照个人理解的话&#xff0c; 1、第一次握手&#xff1a;建立连接时&#xff0c;客户端发送syn包&#xff08;synj&#xff09;到服务器&#xff0c;并进入SYN_SENT状态&#xf…

docker 离线镜像

1. 在已经部署了镜像的机器上获取镜像   1.1 获取镜像名     docker images   1.2 打包选中对应的镜像     docker save <image_name> -o <image_name>.tar 2. 在将要使用的机器上部署需要的镜像   2.1 加载镜像     docker load -i <image_n…

【百度云千帆AppBuilder】诗词达人:AI引领的诗词文化之旅

文章目录 写在前面&#xff1a;百度云千帆AppBuilder诗词达人&#xff1a;AI引领的诗词文化之旅功能介绍&#xff1a;诗词达人智能体的深度体验1. 诗词接龙学习2. 诗词深度解析3. 互动式问答4. 诗词创作辅助 技术特点详解&#xff1a;"诗词达人"智能体的创新技术零代…

项目9-网页聊天室8(消息的发送和接收之websocket)

这是整个项目最最核心的部分. 但是这个部分的编写&#xff0c;需要依赖"基础设施" 包括不限于前面已经实现的 主界面,用户管理,会话管理, 好友管理, 消息管理 等等.... 发送消息,和接收消息,需要"实时传输 张三 发了一条消息,李四 这边立即就能接收到, 这样的…

【游戏引擎】Unity脚本基础 开启游戏开发之旅

持续更新。。。。。。。。。。。。。。。 【游戏引擎】Unity脚本基础 Unity脚本基础C#语言简介C#基础 Unity脚本基础创建和附加脚本MonoBehaviour生命周期生命周期方法 示例脚本 Unity特有的API常用Unity API 实践示例&#xff1a;制作一个简单的移动脚本步骤1&#xff1a;创建…

对于超长的json数据包,采用分割方式分别上传

例如对于一个长度为5.5M的json数据包&#xff0c;可以将其分割为一包数据长度为64KB大小的小包&#xff0c;再依次读取上传 参考代码如下&#xff1a; #include <stdio.h> #include <string.h>#define SEGMENT_SIZE 64*1024 // 每个数据段的大小&#xff0c;这里…

口碑比较好的相亲交友平台有哪些?正规靠谱的相亲软件排行榜测评

在网络时代&#xff0c;越来越多的人热衷于使用相亲交友软件来寻找生命中的另一半。这些软件确实为许多用户提供了真实可靠的交友平台。然而&#xff0c;市面上的相亲软件种类繁多&#xff0c;质量良莠不齐&#xff0c;让人难以选择。今天&#xff0c;我将介绍几款我使用过且认…

并发编程:ScheduledThreadPoolExecutor你真的了解吗?

前言 首先看到标题&#xff0c;我们其实很多人都知道&#xff0c;但是呢 在实际项目中我们面对很多延迟任务实现方案有很多选择&#xff0c;甚至直接在网上百度反正都能实现就行&#xff0c;但是忽略了很多细节&#xff0c;导致生产上的事故&#xff0c;都是因为没有真正了解到…

Git时光机、Git标签、Git分支、GitHub协作

Git时光机&#xff08;切换版本&#xff09; 1.查看提交历史 HEAD指针指向这次分支的最后一次提交 版本信息一行显示【git log --prettyoneline】 2.引用日志【git reflog】 &#xff08;只在自己的工作区中存在&#xff09; 非常重要&#xff1a;当HEAD指针进行切换之后&…

重学java 43.多线程 多等待多唤醒案例

Fear never builds the future,but hope does. —— 24.5.25 多等待多唤醒问题 在多条线程同时消费同时等待时&#xff0c;会出现问题 BaoZiPu package S77ThreadMoreWait;/*count和flag可以定义成包装类&#xff0c;但要记得给count和flag手动赋值不然对于本案例来说&#xff…

python低阶基础100题(上册)

** python低阶基础100题&#xff08;上册&#xff09; ** 1. 请打印出字符串 Hello World print("Hello World")2. 请打印出字符串 爸爸妈妈&#xff0c;你们辛苦啦 print("爸爸妈妈&#xff0c;你们辛苦啦")3. 请打印出字符串 人生苦短&#xff0c;我…

SVN创建分支,分支合并,切换分支。通俗易懂

1、首先在svnbucket.com远程仓库上创建项目&#xff0c;这里我创建了个测试demo&#xff1a; 2、先把svn仓库的项目检出到自己的文件夹&#xff0c;我这里是demo001文件夹&#xff0c;此时并没有创建truck, branches, tags这三个目录&#xff1a; 3、 在demo001文件夹里新建tru…

vue实战 ---- 社交媒体---黑马头条项目

vue基础 1.介绍 为什么会有Vuex ? ​ Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 vuex是采用集中式管理组件依赖的共享数据的一个工具&#xff0c;可以解…

spring boot打的包直接运行

Spring Boot 提供了一个插件 spring-boot-maven-plugin 把程序打包成一个可执行的jar包&#xff0c;直接执行java -jar xxx.jar即可以启动程序 1、引用 spring-boot-maven-plugin插件 <build><plugins><plugin><groupId>org.springframework.boot<…