ssh配置(二、登录服务器)
一. 登录 linux 服务器的两种方式
- 使用
ssh用户名密码的方式登录,但这种方式不安全,密码太简单容易被暴力破解,密码太复杂又不容易记。 - 使用
ssh公私钥的方式登录。
- 以上两种方式都可以在图形化软件工具中配置,例如
finalshell,Putty,Xshell等。本次介绍ssh公私钥登录。
二. 原理的通俗解释
ssh公私钥登录解决的问题是登录时的用户身份验证问题,默认使用RSA(也支持其他算法:RSA、DSA、ECDSA、EdDSA、Ed25519,它们在效率,安全性上有所区别)- 完整的流程
- 本地配置
- 在本地生成一对公私钥。
- 在目录
~/.ssh/下创建config文件(如果有的话直接编辑),添加对应服务器的配置,格式固定。
- 服务器配置
- 开启 ssh秘钥 登录(高版本都是默认开启秘钥登录的,如果安装了宝塔面板需要单独设置开启)。
- 上传用户的本地公钥到服务器。
- 秘钥登录
- 终端使用
ssh xxx登录时,ssh 会根据config文件中的秘钥位置和用户信息自动验证用户身份,完成登录。
三. 相关文件
-
本地 ssh 相关的文件都在
~/.ssh/下,本次用到的相关文件id_rsa和id_rsa.pub:默认一对公私钥的名字,可以有多对,使用命令ssh-keygen生成。config:配置目标服务器的登录信息,有固定格式,默认可能没有这个文件需要自己创建。known_hosts:当替换了原有 host 的公钥时,需要去这个文件里删除对应的 host 记录。
-
服务器 ssh 相关的文件
/etc/ssh/sshd_config:配置 ssh,例如是否允许 root 登录,是否允许密码登录,是否允许秘钥登录。~/.ssh/authorized_keys:将本地公钥保存到该文件中,各占一行,中间不要回车。
四. 关键步骤
- 生成秘钥对,可以检查目录
~/.ssh/下是否有秘钥对,如果没有则重新生成。
# 给 邮箱zhangsan@qq.com 生成公私钥
# -t 参数:指定算法 ed25519,更加高效和安全
# -C 参数:指定公私钥中的注释,一般用邮箱或用户名,不影响使用
ssh-keygen -t ed25519 -C "zhangsan@qq.com"
# 输入命令后,如果不需要密码的话,连续3个回车。最后得到了两个文件:id_rsa和id_rsa.pub。
- 创建配置
~/.ssh/config文件。
# 格式如下,可以配置多个,格式类似
Host server-abcHostName 1.2.3.4User rootIdentityFile ~/.ssh/id_rsa
- 服务器开启秘钥登录
- 高版本 linux 都是默认开启
秘钥登录的,如果没有开启,可以参考以下文件中的参数。 /etc/ssh/sshd_config中的参数Port # 设置端口PasswordAuthentication yes # 是否支持 密码 登录PubkeyAuthentication yes # 允许秘钥登录PermitRootLogin yes # 允许root登录
- 添加公钥到 服务器。
- 复制
id_rsa.pub文件里的内容,到服务器的~/.ssh/authorized_keys文件中,每个公钥各占一行。
- 验证是否可以登录。
# 之前的登录方式
ssh root@1.2.3.4 # 之后输入密码
# 新的登录方式
ssh server-abc
五. 命令总结
# 生成秘钥
ssh-keygen -t ed25519 -C "zhangsan@qq.com"
# 开启 ssh 秘钥登录,高版本默认开启,
# 如果安装了宝塔面板,需在面板设置中单独开启
# 如需开启 root 秘钥登录或其他设置,参考以下文件
/etc/ssh/sshd_config
# 添加用户本地公钥到服务器该文件中
~/.ssh/authorized_keys
# 原始的用户名密码登录方式
ssh username@ipaddress
# 方便的秘钥登录方式
ssh host
相关文章:
ssh配置(二、登录服务器)
一. 登录 linux 服务器的两种方式 使用 ssh用户名密码 的方式登录,但这种方式不安全,密码太简单容易被暴力破解,密码太复杂又不容易记。使用 ssh公私钥 的方式登录。 以上两种方式都可以在图形化软件工具中配置,例如 finalshell…...
pytorch异常——RuntimeError:Given groups=1, weight of size..., expected of...
文章目录 省流异常报错异常截图异常代码原因解释修正代码执行结果 省流 nn.Conv2d 需要的输入张量格式为 (batch_size, channels, height, width),但您的示例输入张量 x 是 (batch_size, height, width, channels)。因此,需要对输入张量进行转置。 注意…...
【FPGA项目】沙盘演练——基础版报文收发
第1个虚拟项目 前言 点灯开启了我们的FPGA之路,那么我们来继续沙盘演练。 用一个虚拟项目,来入门练习,以此步入数字逻辑的…...
【C++技能树】继承概念与解析
Halo,这里是Ppeua。平时主要更新C,数据结构算法,Linux与ROS…感兴趣就关注我bua! 继承 0. 继承概念0.1 继承访问限定符 1. 基类和派生类对象赋值兼容转换2. 继承中的作用域3. 派生类中的默认成员函数4.友元5.继承中的静态成员6.菱…...
计算机网络 第二节
目录 一,计算机网络的分类 1.按照覆盖范围分 2.按照所属用途分 二,计算机网络逻辑组成部分 1.核心部分 (通信子网) 1.1电路交换 1.2 分组交换 两种方式的特点 重点 2.边缘部分 (资源子网) 进程通信的方…...
无涯教程-机器学习 - 矩阵图函数
相关性是有关两个变量之间变化的指示,在前面的章节中,无涯教程讨论了Pearson的相关系数以及相关的重要性,可以绘制相关矩阵以显示哪个变量相对于另一个变量具有较高或较低的相关性。 在以下示例中,Python脚本将为Pima印度糖尿病数…...
Redis 高可用与集群
Redis 高可用与集群 虽然 Redis 可以实现单机的数据持久化,但无论是 RDB 也好或者 AOF 也好,都解决 不了单点宕机问题,即一旦单台 redis 服务器本身出现系统故障、硬件故障等问题后, 就会直接造成数据的丢失,因此需要…...
修改文件名后Git仓上面并没有修改
场景: 我在本地将文件夹名称由Group → group ,执行git push 后,远程分支上的文件名称并没有修改。 原因: 是我绕过了git 直接使用了系统的重命名操作。 在 Git 中,对于已经存在的文件或文件夹进行大小写重命名是一个敏感的操作…...
Linux 信号
目录 基本概念信号的分类可靠信号与不可靠信号实时信号与非实时信号 常见信号与默认行为进程对信号的处理signal()函数sigaction()函数 向进程发送信号kill()函数raise() alarm()和pause()函数alarm()函数pause()函数 信号集初始化信号集测试信号是否在信号集中 获取信号的描述…...
深入探讨梯度下降:优化机器学习的关键步骤(二)
文章目录 🍀引言🍀eta参数的调节🍀sklearn中的梯度下降 🍀引言 承接上篇,这篇主要有两个重点,一个是eta参数的调解;一个是在sklearn中实现梯度下降 在梯度下降算法中,学习率…...
高频算法面试题
合并两个有序数组 const merge (nums1, nums2) > {let p1 0;let p2 0;const result [];let cur;while (p1 < nums1.length || p2 < nums2.length) {if (p1 nums1.length) {cur nums2[p2];} else if (p2 nums2.length) {cur nums1[p1];} else if (nums1[p1] &…...
Hive-启动与操作(2)
🥇🥇【大数据学习记录篇】-持续更新中~🥇🥇 个人主页:beixi 本文章收录于专栏(点击传送):【大数据学习】 💓💓持续更新中,感谢各位前辈朋友们支持…...
css transition 指南
css transition 指南 在本文中,我们将深入了解 CSS transition,以及如何使用它们来创建丰富、精美的动画。 基本原理 我们创建动画时通常需要一些动画相关的 CSS。 下面是一个按钮在悬停时移动但没有动画的示例: <button class"…...
LeetCode 面试题 02.05. 链表求和
文章目录 一、题目二、C# 题解 一、题目 给定两个用链表表示的整数,每个节点包含一个数位。 这些数位是反向存放的,也就是个位排在链表首部。 编写函数对这两个整数求和,并用链表形式返回结果。 点击此处跳转题目。 示例: 输入&a…...
一米脸书营销软件
功能优势 JOIN ADVANTAGE HOME PAGE MARKETING 公共主页营销 可同时对多个账户公共主页评论,点赞等 可批量邀请多个好友对Facebook公共主页进行评论点赞等,也可批量登录小号对自己公共主页进行点赞。 GROUP MARKETING 小组营销 可批量针对不同账户进行…...
vue 根据数值判断颜色
1.首先style样式给两种颜色 用:class 三元运算符判断出一种颜色 第一步:在style里边设置两种颜色 .green{color: green; } .orange{color: orangered; }在取数据的标签 里边 判断一种颜色 :class"item.quote.current >0 ?orange: green"<van-gri…...
Hugging Face 实战系列 总目录
PyTorch 深度学习 开发环境搭建 全教程 Transformer:《Attention is all you need》 Hugging Face简介 1、Hugging Face实战-系列教程1:Tokenizer分词器(Transformer工具包/自然语言处理) Hungging Face实战-系列教程1:Tokenize…...
国标视频云服务EasyGBS国标视频平台迁移服务器后无法启动的问题解决方法
国标视频云服务EasyGBS支持设备/平台通过国标GB28181协议注册接入,并能实现视频的实时监控直播、录像、检索与回看、语音对讲、云存储、告警、平台级联等功能。平台部署简单、可拓展性强,支持将接入的视频流进行全终端、全平台分发,分发的视频…...
HTML <th> 标签
实例 普通的 HTML 表格,包含两行两列: <table border="1"><tr><th>Company</th><th>Address</th></tr><tr><td>Apple, Inc.</td><td>1 Infinite Loop Cupertino, CA 95014</td></tr…...
HTTP/1.1协议中的响应报文
2023年8月30日,周三下午 目录 概述响应报文示例详述 概述 HTTP/1.1协议的响应报文由以下几个部分组成: 状态行(Status Line)响应头部(Response Headers)空行(Blank Line)响应体&a…...
如何用开源工具轻松搞定热门演出门票:大麦抢票完全手册
如何用开源工具轻松搞定热门演出门票:大麦抢票完全手册 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 你是否曾经为了一张心仪演出的门…...
告别移植烦恼:用STM32CubeMX和ENV工具5分钟搞定RT-Thread BSP适配(以STM32F103ZE为例)
5分钟极速适配RT-Thread:STM32CubeMX与ENV工具链实战指南 当拿到一块全新的STM32开发板时,许多嵌入式开发者都会面临相同的困境:如何在最短时间内验证RT-Thread实时操作系统的运行?传统手动移植BSP的方式往往需要数小时甚至更长时…...
Excel MCP Server终极指南:无Excel环境下的数据操作革命
Excel MCP Server终极指南:无Excel环境下的数据操作革命 【免费下载链接】excel-mcp-server A Model Context Protocol server for Excel file manipulation 项目地址: https://gitcode.com/gh_mirrors/ex/excel-mcp-server 还在为Excel授权费用和安装繁琐而…...
终极MQTT客户端快速入门指南:5分钟掌握跨平台物联网通信
终极MQTT客户端快速入门指南:5分钟掌握跨平台物联网通信 【免费下载链接】mqttclient A high-performance, high-stability, cross-platform MQTT client, developed based on the socket API, can be used on embedded devices (FreeRTOS / LiteOS / RT-Thread / T…...
3步快速上手OneMore:让你的OneNote效率翻倍的完整指南
3步快速上手OneMore:让你的OneNote效率翻倍的完整指南 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore OneMore是一款专为OneNote设计的免费增强插件&#…...
3个关键技巧:用ProperTree告别Plist编辑的繁琐与混乱
3个关键技巧:用ProperTree告别Plist编辑的繁琐与混乱 【免费下载链接】ProperTree Cross platform GUI plist editor written in python. 项目地址: https://gitcode.com/gh_mirrors/pr/ProperTree 你是否曾经面对macOS配置文件时感到手足无措?那…...
ZeRO显存优化原理:从Adam状态切分到三阶段实战配置
1. 项目概述:当大模型训练卡在显存上,ZeRO 是怎么“拆墙”又“省电”的?你有没有试过在单张 A100 上跑一个 7B 参数的 LLaMA 模型微调?刚把模型 load 进去,torch.cuda.memory_allocated()就飙到 98%,OOM报错…...
TPT线下工作坊:AIGC、云原生与数据合规的深度实践与碰撞
1. 活动缘起与核心价值:为什么一场线下工作坊如此重要?在数字营销和内容创作领域,我们每天都被海量的线上信息包围。线上会议、直播、社群讨论,这些形式高效且便捷,但总感觉隔着一层屏幕,少了些温度与深度。…...
为内部知识库问答系统集成稳定的多模型推理能力
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内部知识库问答系统集成稳定的多模型推理能力 在企业内部,知识库是宝贵的资产,但如何让员工高效地从中获…...
ARMv8调试状态下LDR指令未定义问题解析
1. 问题背景与现象分析在ARMv8-A架构的调试过程中,开发者经常会遇到一个令人困惑的现象:当外部调试器暂停核心执行后,向EDITR寄存器注入LDR X1, [X0]指令(机器码0xf9400001)时,Tarmac日志显示该指令被标记为…...
