Linux服务器设置ssh私钥登录

《每天一个Linux命令》 -- (5)通过sshkey密钥登录服务器 欢迎阅读《每天一个Linux命令》系列!在本篇文章中,将介绍通过密钥生成,通过公钥连接管理服务器。SSH 密钥是用于安全地访问远程服务器的一种方法。SSH 密钥由一对密钥组成:公钥和私钥。公钥存储在远程服务器上,私钥存储在本地计算机上。密钥管理: 公钥身份验证需要有效地管理密钥对。如果私钥丢失或泄露,可能会导致安全问题。初次设置复杂性: 初次设置公钥身份验证可能会相对复杂,特别是对于不熟悉密钥管理的用户来说。然而,一旦设置完成,后续的连接将更为简单。 阅读详情

服务器居然被黑客通过暴力ssh破解并进行挖矿,本篇文章将讲述如何创建用户私钥,并关闭ssh密码登录

1. 创建新用户并创建私钥

使用root用户创建新用户,名为xxx,并禁用密码登录。
指定用户使用的shell解释器为bash,指定用户主目录路径为/home/xxx或者其他自定义路径。

adduser xxx --disabled-password --shell /bin/bash --home /home/xxx

若需对新增用户设置用户组或者其他内容,请参考adduser命令其他用法

2. 对已存在的用户创建私钥

一般分成两种情况:

  1. 用户自己生成公钥私钥,把公钥文件(.pub文件)交给服务器管理员,或者自己上传到服务器完成配置,这种情况见Xshell生成秘钥对和服务器设置秘钥登录,这两篇博客,本文不再赘述。
  2. 服务器管理员为用户生成,这种情况见下文。

如果是root用户给其他普通用户生成私钥,则首先切换到用户xxx,进入该用户xxx的工作目录。如果是普通用户给自己生成私钥,忽略这一步,直接下一步。

su xxx

创建ssh的隐藏目录,并赋予700权限(只有该用户读取和修改)

mkdir ~/.ssh
chmod 700 ~/.ssh

创建公钥文件,一个用户会有一个公钥文件。输入以下命令,如果为了简便可以直接不用输入密码一路回车到底。当然更推荐于生成秘钥的时候设置一个为秘钥加密的密码,这样用户后续使用私钥文件+私钥密码的方式会更加安全。(这样可以防止私钥文件泄漏,其他人可以直接登录)
默认生成的路径就是用户主目录下的.ssh文件夹中。

ssh-keygen -t rsa -b 4096 -v

此时,.ssh文件夹中会出现两个文件id_rsa.pub公钥和id_rsa私钥。

接下来,将公钥写入授权文件当中。并赋予该文件600权限(该用户可读可写)。

cd ~/.ssh
cat id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 authorized_keys

最后一步,将私钥文件id_rsa下载下来,分发给指定用户即可。用户拿到后,使用xshell或者其他终端软件,来进行登录,详细见:https://blog.csdn.net/weixin_45564548/article/details/111193459
若使用putty的话,需要做一次转换操作,见https://blog.csdn.net/wkh___/article/details/85321799。

3. 关闭ssh密码登录功能

当所有用户完成证书分发后,使用root用户,修改/etc/ssh/sshd_config文件,关闭所有用户密码登录的功能。
按照以下参数调整,其他不动

RSAAuthentication  yes		// RSA秘钥认证
PubkeyAuthentication  yes	// 公钥认证
PasswordAuthentication  no	// 关闭密码登录

重启ssh服务

service sshd restart
linux环境ssh-rsa进行签名\权限\登录\原理(免密登录)-完整版 SSH是一种网络协议,用于计算机之间的加密登录。需要指出的是,SSH只是一种协议,存在多种实现,既有商业实现,也有开源实现。SSH的默认端口是22,你的登录请求会送进远程主机的22端口。SSH之所以能够保证安全,原因在于它采用了公钥加密。整个过程是这样的:(1)远程主机收到用户的登录请求,把自己的公钥发给用户。(2)用户使用这个公钥,将登录密码加密后,发送回来。(3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。 阅读详情

相关推荐

ssh秘钥登录

df

qq_61988806的博客 747

SSH服务详解(二)--使用私钥登录 SSH 服务器(免密登录)

SSH服务详解(二)–使用私钥登录 SSH 服务器(免密登录) SSH 服务器运行在 ubuntu 18.04.1 SSH 客户端在 Windows10 在我们平时使用 Linux 系统时候,通常使用的 Linux SSH 登录方式是用户名加密码的登录方式,今天来探讨另外的一种相对安全的登录方式——密钥登录 SSH 登录是用的 RSA 非对称加密的,所以我们在 SSH 登录的时候就可以使用 RSA 密钥登录,SSH 有专门创建 SSH 密钥的工具ssh-keygen。 服务器生成密钥对(ubuntu)

tyustli 6万+

设置SSH通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。

墨痕诉清风的博客 1114

使用私钥登录 SSH 服务器(免密登录)

通过SSH,您可以在不安全的网络上安全地连接到远程服务器,并进行加密的数据传输。SSH支持多种身份验证方式,其中之一是使用SSH密钥对进行免密码登录。通过这些步骤,您已经实现了SSH服务器的免密码登录。这种方式不仅方便,还提高了服务器的安全性,因为私钥通常比密码更难被破解。这将创建一个RSA密钥对,包括一个私钥(id_rsa)和一个公钥(id_rsa.pub)。使用以下命令将您的公钥(id_rsa.pub)复制到服务器上,替换。您将不再需要输入服务器密码,而是会自动使用私钥进行身份验证。

dubochao_xinxi的博客 5813

【创作赢红包】Gurobi学术版证书更新与Python环境配置全攻略

本文详细解析了Gurobi学术版证书过期后的完整更新流程与Python环境配置方法。从彻底清理旧版残留、手把手注册获取新许可证,到软件安装、证书激活,最后重点讲解如何将gurobipy接口正确配置到Python的site-packages目录,并提供了常见问题排查方案,帮助用户高效解决证书与配置难题。

efc1234567的博客 608

Altium Concord Pro 的应用范围,安装,和使用范围

Altium Concord Pro 的应用范围,安装,和使用范围。保证满足两者软件的最低安装要求。 Altium Concord Pro 是配合Digapcb,和MCAD,Altium 和相应机械设计软件的基础和交换桥梁

hanzhaos的博客 1110

设置 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和...

qianshuyuankk的专栏 210

STM32--LoRa通信模块

模块根据MD0的配置与AUX引脚的状态会进入不同的功能其中在通信功能下,包含4种工作模式。

qq_47258284的博客 1万+

Liunx 使用证书登录 不使用密码

1、生成秘钥 ssh-keygen -t rsa 默认会在用户目录下生成一个公钥和私钥 一定设置秘钥密码! 一定设置秘钥密码! 一定设置秘钥密码! 2、将公钥设置为该服务器的登录公钥 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 3、设置ssh,禁止密码登录,改用私钥登录 vi /etc/ssh/sshd_con...

六七八的博客 490

无痛安装及初始配置 PHP 8.0.3 + Apache 2.4 + MySQL 8.0

PHP 8.0.3 + Apache 2.4 + MySQL 8.0MySQL 8.0.23 安装下载安装配置环境变量初始化MySQLPHP8.0.3 安装下载安装配置环境变量Apache 2.4 安装下载安装启动 MySQL 8.0.23 安装 下载 到官方网站下载:https://dev.mysql.com/downloads/mysql/ 目前的最新版本是MySQL 8.0.23 在Windows上有两种安装方式,一个是zip压缩文件解压然后配置,另一个是图像化界面安装。 这里选择第一种方法安装:

Kuang Da's Blog 6202

SCG到ECG信号转换:Wave U-Net模型实现移动端心脏监测

心脏监测技术中,心电图(ECG)和心脏振动信号(SCG)是两种重要的生物信号。ECG记录心脏电活动,而SCG捕捉机械振动,两者通过电-机械耦合机制关联。Wave U-Net模型通过编码器-解码器结构和扩张卷积,实现了SCG到ECG的高精度转换,参数量减少90%以上。这一技术在移动设备上达到临床可用精度,未来可通过手机实现专业级心电图监测。应用场景包括睡眠呼吸暂停监测、心脏再同步化治疗评估等,为移动医疗带来革新。

weixin_35649491的博客 298

如何在Linux上配置SSH密钥以实现免密登录

通过在Linux上配置SSH密钥认证,你可以实现免密登录,从而简化远程操作并提高安全性。本文详细介绍了生成SSH密钥对、将公钥复制到远程服务器以及配置SSH客户端和服务器的步骤。希望这些内容能够帮助你更好地理解和使用SSH密钥认证。

2408_88802129的博客 981

OpenCv案例(七): 基于OpenCvSharp计算图像的清晰度(自动对焦)

自动对焦,其实是对相机成像的清晰值得计算,若对焦不清晰,成像的清晰度低,视觉效果模糊。若是在工业检测行业,对焦不准确,可能会造成严重后果;对焦准确的图像,其清晰度高,对比度鲜明,层次明显。

qq_37835727的博客 7100

让macos记住ssh私钥密码 mac生成ssh密钥

可以看到两个密钥文件:id_rsa(私钥) id_rsa.pub(公钥) ———— 我的本机的~是/Users/linfeng,可以通过pwd查看当前所在的路径。2)去掉以下的注释:——其实不注释,我的机器上默认值也是yes,因为在第六步的时候,我已经可以免密码登录了。——请注意,这时候只是可以免密码登录,但是没有密钥的人(如其他人的电脑),还是能通过密码登录。————请注意,此时.ssh目录的权限应该是700,只有属主有读、写、执行的权限。步骤六:免密码登录到服务器:——无需输入密码了。

qq_21138747的博客 617

Gemini-CLI 登录失败?解决报错 This account requires setting the GOOGLE_CLOUD_PROJECT env var 的问题

🚀 刚装好 `gemini-cli` 就遇到登录拦路虎?别慌!本文带你深入解析 `GOOGLE_CLOUD_PROJECT` 环境变量错误的根源,并提供超详细的图文解决方案,让你丝滑开启 AI 命令行之旅!快来抄作业!✍️

XiaoqiangClub的博客 5118

Unity Hololens2开发|(一)环境配置

开发过程中预览和调试应用:可以在电脑上的 Unity 编辑器中以播放模式本地运行应用,并将体验流式传输到 HoloLens2。将来自 HoloLens2 的输入(视线、手势、语音和空间映射)发送到电脑,在其中内容以虚拟沉浸式视图渲染。在HoloLens2设备中,打开Settings面板,依次选择Update & Security > For Developers,打开“Developer Mode”。在开发计算机中打开控制面板,依次选择“更新和安全> 开发者选项”,打开“开发人员模式”;

游戏开发小Y的博客 14万+

Ssh 证书验证登录

一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只...

diandunmeng2822的博客 249

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

服务器设置 SSH 通过密钥登录

今后,当你使用 PuTTY 登录时,可以在左侧的 Connection -> SSH -> Auth 中的 Private key file for authentication: 处选择你的私钥文件,然后即可登录了,过程中只需输入密钥锁码即可。这一部分相当于,将自己的公钥写到了ssh服务器中,写到authorized_keys中,这样只要有密钥对,就能正常连接,VScode也是。下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。如此便完成了公钥的安装。

风信子的猫Redamancy的快乐星球 1309

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

实现利用公钥私钥免密码登录Linux服务器

原理 客户端生成公钥私钥,把公钥拷贝给linux服务器,用自己的私钥连接服务器。实现如下: 如果是两台Linux服用器A和B,A来实现免密码登录B A执行ssh-keygen -t rsa 就会在/root/.ssh生成id_rsa(私钥)和id_rsa_pub(公钥) 在B下 mkdir /root/.ssh chmod 700 /root/.ssh 在B下创建v...

weixin_30242907的博客 393

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

linux scp无密码登陆,linux ssh scp无密码登录(示例代码)

一. 应用场景假如你Linux Client是客户端, Server为服务器,用户名为user。现在要配置从Client到Server的无密码SSH登录或者无密码的scp拷贝。例如客户端Client(10.1.10.125) 要 ssh 或者scp 到服务器Server(10.1.10.129),125端命令如下二. 实现方法1:在Client(10.1.10.125)上执行ssh-keygen ...

weixin_32836221的博客 398

SSH| 设置 SSH 通过密钥登录

我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破解的问题。所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者禁用 root 账户登录。其实,有一个更好的办法来保证安全,而且让你可以放心地用 root 账户从远程登录——那就是通过密钥方式登录。 密钥形式登录的原理是:利用密钥生成器制作一对密钥——一只公钥和一...

YvesHe的专栏 1064

linux中通过SSH公钥私钥远程连接XSheel、XFTP

Linux中通过SSH公钥私钥远程连接Sheel、XFTP1. 制作密钥对2. 在服务器上安装公钥3. 设置 SSH,打开密钥登录功能4. 将私钥下载到客户端,实现远程登录 1. 制作密钥对 首先在服务器上制作密钥对。首先用密码登录到你打算使用密钥登录的账户,然后执行以下命令: [root@host ~]$ ssh-keygen <== 建立密钥对 Generating public/private rsa key pair. Enter file in which to save the key

SmileSunshines的博客 3940

aws linux使用ssh登陆_如何设置密钥,使用SSH登录Linux服务器

这一篇文章讲的很清楚:设置 SSH 通过密钥登录。下面按我的理解来记叙一下。配置分两步:生成私钥和公钥。之后将公钥放在要登录的服务器的~/.ssh目录下(如该目录不存在,则新建一个),并命名为authorized_keys(如该文件已经存在,则把公钥的内容放在原authorized_keys内容的末尾)。如何生成私钥和公钥?使用Linux的ssh-keygen命令即可。你可以在要登录的Linux服...

weixin_42190030的博客 911

使用ssh登录linux服务器

enter后填入密码即可;

yyzh200的博客 1417
上一篇: [论文阅读]Deep Relational Reasoning Graph Network for Arbitrary Shape Text Detection
一叶知秋Autumn
博客等级 码龄10年 170粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值