实战攻防演练-Linux写入ssh密钥,利用密钥登录
前言
密钥形式登录的原理是利用密钥生成器制作一对密钥,一只公钥和一只私钥。将公钥添加到服务器的某个账户上,然后在客户端利用私钥即可完成认证并登录。这样一来,没有私钥,任何人都无法通过 SSH 暴力破解你的密码来远程登录到系统。此外,如果将公钥复制到其他账户甚至主机,利用私钥也可以登录。

下面来讲解如何在 Linux 服务器上制作密钥对,将公钥添加给账户,设置 SSH,最后通过客户端登录。
在linux后渗透中拿下shell权限后,使用ssh-keygen命令建立密钥对
服务创建密钥

如上图所示
└─# ssh-keygen # 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): # 按 Enter回车即可
/root/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): # 输入密钥锁码,或直接按 Enter 留空
Enter same passphrase again: # 再输入一遍密钥锁码
Your identification has been saved in /root/.ssh/id_rsa # 私钥
Your public key has been saved in /root/.ssh/id_rsa.pub # 公钥
The key fingerprint is:
SHA256:6Nr2bOK9deJLoJZ+tU9jNSGGTlvFunuxYYYBZkI+XpY root@kali
The key's randomart image is:
+---[RSA 3072]----+
| .. .. |
| .. +o .. |
| o+E.+.. |
| o * +o. . |
| . S o +o |
| . o .. o.=. |
| = .+.=+ + |
| =ooo+.=..o |
| .o+==.oo.. |
+----[SHA256]-----+
这里介绍一些ssh-keygen的参数
-t #指定密钥类型
-b #指定密钥长度
也可以执行
ssh-keygen -t rsa -b 4096 //指定类型长度
ssh-keygen -t rsa //指定类型
密钥锁码在使用私钥时可以输入字符,或留空。
现在当前root目录中生成了一个 .ssh 的隐藏目录,内含两个密钥文件。
其中,id_rsa 为私钥,id_rsa.pub 为公钥。
在服务器上安装公钥
在安装前先切换目录至.ssh目录,接下来需要安装authorized_keys,授权密钥,安装后需要保证authorized_keys文件权限为600,目录权限为700。

[root@kali ]$ cd .ssh
[root@kali .ssh]$ cat id_rsa.pub >> authorized_keys
#公钥的安装注意:单尖括号>表示将文件内容全部替换掉;双尖括号是追加,这样就完成了公钥的安装。
#为了确保连接成功,保证文件权限正确
[root@kali .ssh]$ chmod 600 authorized_keys
[root@kali .ssh]$ chmod 700 ~/.ssh
设置 SSH,打开密钥登录功能
编辑 /etc/ssh/sshd_config 文件,进行如下设置:

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes #root 用户允许通过 SSH 登录(可选)
最后,再重启 SSH 服务:(这个重启ssh服务不会导致断连)
[root@host .ssh]$ service sshd restart
将私钥下载客户端连接
在服务器下载下来我们的私钥id_rsa文件,在本地机器使用ssh连接软件连接,如下图所示。

实战连接图片

参考https://www.runoob.com/w3cnote/set-ssh-login-key.html
实战攻防演练-Linux写入ssh密钥,利用密钥登录的更多相关文章
- linux下ssh免秘钥登录
1.检查防火墙是否关闭 (1)切换到root用户 (2)查看防火墙状态 service iptables status 这是没有关闭 (3)设置关闭 service iptables stop 2.检 ...
- 【Linux】ssh设置了密钥,但ssh登陆的时候还需要输入密码
------------------------------------------------------------------------------------------------- | ...
- linux下ssh/scp无密钥登陆方法
一.双方机器都是root用户登陆方法 A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A ...
- Linux配置SSH端口以及密钥登录
改端口后重启: vim /etc/ssh/sshd_config systemctl restart sshd
- SSH: Linux开启ssh并启动root登录设置默认密码
apt update && apt install -y openssh-server echo "PermitRootLogin yes" >> /e ...
- Linux系统设置 SSH 通过密钥登录
我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器.但是,一般的密码方式登录,容易有密码被暴力破解的问题.所以,一般我们会将 SSH 的端口设置为默认的 22 以外的端口,或者 ...
- Linux中ssh介绍与ssh+key密钥登陆部署
环境内核信息: [root@zabbix- ~]# uname -a Linux zabbix- -.el6.x86_64 # SMP Tue Mar :: UTC x86_64 x86_64 x86 ...
- Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录
1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...
- Linux下 SSH远程管理服务
第1章 SSH基本概述 1.1 SSH服务协议说明 SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定 在进 ...
- linux查看ssh用户登录日志与操作日志
linux查看ssh用户登录日志与操作日志 2013-11-01转载 ssh用户登录日志 linux下登录日志在下面的目录里: 代码如下 复制代码 cd /var/log 查看ssh用户的登录日 ...
随机推荐
- 【SpringCloud】Ribbon
Ribbon 负载均衡原理 order-service 发起 user-service 请求,被ribbon进行拦截; ribbon会向注册中心拉取user-service 相对应的服务; 注册中心返 ...
- 2021-11-29 Wpf的ViewModel和xaml绑定
ViewModel代码 public class MainViewModel { MainWindow _mainWindow; public MainViewModel(MainWindow mai ...
- 《深入理解Java虚拟机》读书笔记:判断对象是否存活
本节内容的概要如下; 对象已死吗? 一.判断对象是否存活的算法 1.引用计数器算法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1:当引用失效时,计数器值就减1:任何时刻计数器为0 ...
- centos7安装influxdb2
前言 InfluxDB是一个由InfluxData开发的开源时序型数据库,专注于海量时序数据的高性能读.高性能写.高效存储与实时分析等,广泛应用于DevOps监控.IoT监控.实时分析等场景. 服务器 ...
- springboot jar thin
springboot jar thin springboot 应用 jar 瘦身.springboot jar 太大.jar与依赖包分离. 两种方法,第一种,spring-boot-thin-laun ...
- 2023牛客暑期多校训练营7 CGILM
比赛链接 C 题解 知识点:位运算,贪心. 我们用分段的思想考虑大小关系,若在同一段则大小不能确定,一开始为 \([1,n]\) . 我们按位从高到低考虑,某位如果 \(b_i\) 产生了 \(1\) ...
- [ABC131E] Friendships
2023-01-30 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 找规律,构造 解题思路 先构造一个菊花图为最大边的图,再依次连边减小k. ...
- langchain中的LLM模型使用介绍
简介 构建在大语言模型基础上的应用通常有两种,第一种叫做text completion,也就是一问一答的模式,输入是text,输出也是text.这种模型下应用并不会记忆之前的问题内容,每一个问题都是最 ...
- Leetcode刷题笔记——二分法
二分法是搜索算法中极其典型的方法,其要求输入序列有序并可随机访问.算法思想为 输入:有序数组nums,目的数值target 要求输出:如果target存在在数组中,则输出其index,否则输出-1 将 ...
- LR性能分析
如何模拟真实用户的行为 真实用户的操作是否可预期,比如考试 用户一般会先打开考试页面,然后答题 那么会有多种题型,用户是不是有可能答不同的题型 性能的拐点