您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

如何向服务器添加 ssh 公钥

时间:2023-03-13 14:48:41  来源:微信公众号  作者: TIAP

使用用户账号进行 ssh 连接认证有密码被泄露的风险,为了规避这个风险,可以使用密钥的方式进行身份认证。使用密钥就需要将公钥添加到服务器,我们今天介绍一下如何将公钥添加到服务器。

我们假设大家了解 ssh 的基本概念,且在 linux 服务器上已经启动了 ssh,个人计算机上已经生成了 ssh 密钥。现在需要做的就是将公钥上传到服务器的授权密钥,这样就可以不需要账号密码来访问服务器了。

前置条件

在正式开始介绍之前,我们需要准备的东西如下:

1)目标服务器已经启用 ssh;

2)已经生成了公钥和私钥(使用命令 ssh-keygen -t rsa);

3)在服务器上有可用的账户(用户名和密码,root 也可以);

4)知道服务器的 IP 地址。

满足上述四个条件后,接下来我们就来看看如何使用公钥身份认证。

方法1:自动将ssh密钥复制到服务器

第一种方法是用户将其个人计算机的公钥复制到远程服务器上的授权密钥列表中。

这里,我假设你能够使用 ssh 登录到远程服务器 user_name@ip_of_server,它会询问你的帐户密码,然后您进入服务器。

如果你将公钥添加到服务器,那么就应该可以在不输入密码的情况下登录。

OpenSSH 提供了一个称为  ssh-copy-id 的工具,用于将 ssh 公钥复制到远程系统,它还可以创建所需的目录和文件。如下命令:

ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER

出现系统提示时,输入远程服务器上用户帐户的密码,公钥就会自动复制到远程服务器上的相应文件夹中。

上述命令中有个路径:~/.ssh/id_rsa.pu,这是 ssh 公钥的默认位置,大家需要根据自己实际情况修改这个路径。

方法2:手动将 ssh 公钥添加到服务器

第一种方法在用户端执行操作。假设你是系统管理员,你的服务器不允许通过密码进行 ssh 登录,那么访问服务器的唯一方法是使用 ssh 公钥身份验证。

在这种情况下,你可以要求最终用户提供其公钥。现在,你可以做的是创建 .ssh/authorized_keys 目录,然后在这里复制公钥。

步骤1:获取公钥

键入如下命令,要求用户提供公钥:

cat ~/.ssh/id_rsa.pub

它将显示一个以 ssh-rsa 开头的长字符串:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname

你可以通过电子邮件或即时消息工具来获取上述文本。

步骤2:在用户的主目录中创建ssh目录(作为sysadmin)

注意,你必须在最终用户的主目录中创建这些新目录和文件,而不是你的主目录(root/sysadmin)。

mkdir -p /home/user_name/.ssh && touch /home/user_name/.ssh/authorized_keys

然后使用文本编辑器(比如 vim)打开这个文件 /home/user_name/.ssh/authorized_keys,并在此处添加用户公钥:

vim /home/user_name/.ssh/authorized_keys

保存并关闭。

步骤3:为文件设置权限

然后我们需要为文件设置适当的权限,否则回看到类似 Permission denied (publickey) 的报错信息。

首先,确保设置正确的文件权限:

chmod 700 /home/user_name/.ssh && chmod 600 /home/user_name/.ssh/authorized_keys

由于我们使用 root 或我们自己的管理员帐户为其他用户创建了这些文件,所以需要更改用户的所有权:

chown -R username:username /home/username/.ssh

这样就完成了,可以让最终用户尝试登录一下了。



Tags:ssh   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
使用用户账号进行 ssh 连接认证有密码被泄露的风险,为了规避这个风险,可以使用密钥的方式进行身份认证。使用密钥就需要将公钥添加到服务器,我们今天介绍一下如何将公钥添加到...【详细内容】
2023-03-13  Tags: ssh  点击:(0)  评论:(0)  加入收藏
今天我们分享几个可以提高 ssh 安全性的实用方法。不过需要注意,下面提到的方法,大家选取适合自己的,不需要全部都用,其中某些方法可能会与其他的不兼容。ssh 是访问远程服务器...【详细内容】
2023-02-21  Tags: ssh  点击:(21)  评论:(0)  加入收藏
我们经常会有通过 ssh 向远程服务器发送文件的时候,或者从远程服务器拷贝文件到本地的时候。一般来讲,在本地与远程服务器之间传输文件常用的方式有如下 4 种:1)scp:这个方法即...【详细内容】
2023-02-03  Tags: ssh  点击:(53)  评论:(0)  加入收藏
当我们需要在本地机器上和远程的目录和文件进行交互时,总是会考虑到安全之类的问题,那么SSHFS将会是一个不错的选择。这篇文章对于那些无论出于什么目的,希望在他们本地的系统...【详细内容】
2023-01-12  Tags: ssh  点击:(36)  评论:(0)  加入收藏
转自:入门小站SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。...【详细内容】
2022-12-29  Tags: ssh  点击:(42)  评论:(0)  加入收藏
SSH 是一种广泛使用的协议,用于安全地访问 Linux 服务器。大多数用户使用默认设置的 SSH 连接来连接到远程服务器。但是,不安全的默认配置也会带来各种安全风险。具有开放 S...【详细内容】
2022-12-08  Tags: ssh  点击:(66)  评论:(0)  加入收藏
概述NxShell,一款跨平台的SSH免费终端软件,Linux远程连接工具,免费ssh客户端、主机服务器远程管理客户端。支持SSH/Sftp协议,支持会话管理器,多选项卡管理主机导入和导出功能,支持...【详细内容】
2022-11-07  Tags: ssh  点击:(169)  评论:(0)  加入收藏
备份/etc/ssh目录# cp -rp /etc/ssh /etc/ssh.bak必要软件的安装# yum install gcc zlib zlib-devel openssl-devel查看当前OpenSSH版本# SSH -V 下载OpenSSH新版本https:/...【详细内容】
2022-09-25  Tags: ssh  点击:(150)  评论:(0)  加入收藏
最近新发现的免费MAC站macbv 站推荐(comTermius Mac激,支持ECDSA和ed25519密钥以及chacha20-poly1305密码,12种色彩鲜艳主题与可调节字体制作,并适用于所有主要的移动和桌面系统...【详细内容】
2022-09-06  Tags: ssh  点击:(111)  评论:(0)  加入收藏
关于SSH后门木马查杀,那SSH协议其实它是一个加密的网络传输协议,通常咱们使用它作为Linux管理使用,那它用来传输命令界面和远程执行命令,也就是咱们现在看到的这个界面,通常计算...【详细内容】
2022-08-30  Tags: ssh  点击:(25)  评论:(0)  加入收藏
▌简易百科推荐
使用用户账号进行 ssh 连接认证有密码被泄露的风险,为了规避这个风险,可以使用密钥的方式进行身份认证。使用密钥就需要将公钥添加到服务器,我们今天介绍一下如何将公钥添加到...【详细内容】
2023-03-13   TIAP  微信公众号  Tags:ssh   点击:(0)  评论:(0)  加入收藏
这里就不麻烦地建 Web 项目了,用一个最原始的 Java 项目来模拟高 CPU 场景。打开 IDEA,创建一个 Java 项目,里面写一个死循环,循环里面不断地创建对象。相比于一大堆复杂的 JVM...【详细内容】
2023-03-06  飞天小牛肉  微信公众号  Tags:CPU   点击:(13)  评论:(0)  加入收藏
如今越来越多的网站已经开始安装SSL证书,只要安装ssl证书之后,可以保障网站的数据安全,关于ssl证书的内容,之前已经介绍过很多了,今天为大家讲解的是Nginx 301永久重定向配置以及...【详细内容】
2023-03-03  沃通WoTrus  今日头条  Tags:Ngnix   点击:(13)  评论:(0)  加入收藏
ChatGPT发布之后,引发了全球范围的关注和讨论,国内各大厂商相继宣布GPT模型开发计划。据各公司官网,2023年2月7日,百度宣布将推出ChatGPT类似产品“文心一言”,预计今年3月展开内...【详细内容】
2023-03-02  架构师技术联盟    Tags:ChatGPT   点击:(12)  评论:(0)  加入收藏
本文分享自华为云社区《【平滑上云】Apache Sentry->Ranger平滑升级方案-云社区-华为云》,作者: 啊喔YeYe 。背景介绍 CDH是Apache Hadoop和相关项目的最完整、最受测试和最...【详细内容】
2023-02-28  蒲公英互联    Tags:Apache   点击:(30)  评论:(0)  加入收藏
哈喽,大家好,我是指北君。最近项目中准备使用消息中间件Apache Pulsar,借着机会先做个简单了解吧。Apache PulsarApache Pulsar是Apache软件基金会顶级项目,是下一代云原生分布...【详细内容】
2023-02-28  Java技术指北    Tags:MQ   点击:(14)  评论:(0)  加入收藏
微信小程序因官方需求文档要求后台使用HTTPS请求进行网络通信,不满足条件的域名和协议无法请求。越来越多的开发者纷纷使用SSL证书实践微信小程序的应用情况,但仍然会碰到各种...【详细内容】
2023-02-28  沃通WoTrus    Tags:HTTPS   点击:(11)  评论:(0)  加入收藏
Nginx是一个高性能的Web服务器,它可以用来进行反向代理和负载均衡。在本文中,我们将深入探讨Nginx反向代理和负载均衡的概念、作用以及实现方式。一、什么是Nginx反向代理?在理...【详细内容】
2023-02-24  Java编程世界  今日头条  Tags:Nginx   点击:(17)  评论:(0)  加入收藏
您的Apache HTTP服务器生成的日志数据是信息的宝库。使用这些信息,您可以判断您服务器的使用情况、找出漏洞所在,并设法改进服务器结构和整体性能。审核您的Apache日志可在以...【详细内容】
2023-02-16  运维有小邓    Tags:Apache   点击:(31)  评论:(0)  加入收藏
作为软件的程序员,一直想搞一台属于自己的服务器用来在业余时间折腾。可能有人会说,为啥不在公有云上申请一个,多简单。那我们就先看看公有云上一台同样配置(笔记本的配置是4C8G...【详细内容】
2023-02-13  星河18实验室  今日头条  Tags:服务器   点击:(31)  评论:(0)  加入收藏
站内最新
站内热门
站内头条