当前位置: 首页 > news >正文

【ssh】ubuntu服务器+本地windows主机,使用密钥对进行ssh链接

目录

  • 1、服务器配置ssh
  • 2、本地主机秘钥对
  • 3、上传公钥至服务器
  • 4、配置服务器的公钥信息
  • 5、测试连接

1、服务器配置ssh

使用的服务器系统为 ubuntu系统20.04
首先确认服务器是否已安装SSH,已安装的话会返回openssh 的相关信息,返回为空表示未安装

dpkg -l | grep openssh-server

如果没有安装,进行安装

sudo apt update
sudo apt install openssh-server

安装成功后,启动ssh服务

sudo systemctl start ssh
sudo systemctl enable ssh

允许防火墙 通过SSH连接

sudo ufw allow 22/tcp

检查是否启动成功

sudo systemctl status ssh

返回:
请添加图片描述

查看服务器的主机名hostname 和 用户名

hostname -I
ls /home/

查看 ssh 端口port,默认的端口号为22

sudo ss -tulnp | grep sshd

如果需要配置ssh的config文件,可以用vi或者nano对Config文件的内容进行修改

sudo  vi /etc/ssh/sshd_config

编辑完后按 Esc
:w 保存文件
:wq or ZZ 保存并退出
:x 保存并退出(只有当文件被修改时才保存)
:q 退出(未修改时)
:q! 强制退出不保存

或者

sudo nano /etc/ssh/sshd_config

编辑完后按
Ctrl + O 保存
屏幕底部显示 File Name to Write: [当前文件名],保持原文件名,直接按 Enter 回车,要另存为新文件,输入新文件名后按回车
Ctrl + X退出

2、本地主机秘钥对

本地主机:windows11
使用Git Bash 检查本地是否现有SSH密钥

ls -al ~/.ssh

返回:
如果看到 id_rsa (私钥) 和 id_rsa.pub (公钥),说明已有密钥对
如果没有,新增秘钥

ssh-keygen -t rsa -b 4096

输入保存路径(默认按回车使用 ~/.ssh/id_rsa)
输入密钥密码(可选但推荐,为空则直接回车)

秘钥成功生成后,会在本地用户路径C:\Users\本地用户名.ssh文件夹中看到 id_rsa和 id_rsa.pub
在这里插入图片描述

3、上传公钥至服务器

依然是本地主机 Git bash 输入

cat ~/.ssh/id_rsa.pub

输出一段以ssh-rsa开头 以 邮箱结尾的秘钥
在这里插入图片描述
复制输出的全部内容,在Ubuntu服务器上执行:

mkdir -p ~/.ssh
echo "粘贴公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

检查服务器中公钥文件是否存在

ls -l ~/.ssh/authorized_keys

检查文件中的内容

cat ~/.ssh/authorized_keys

4、配置服务器的公钥信息

打开ssh_config中关于秘钥的相关配置

sudo vi /etc/ssh/sshd_config

编辑文件,找到PubkeyAutentication 删掉前面的#号,并更改为:
请添加图片描述
保存并退出,修改后重启ssh服务:

sudo systemctl restart ssh

检查SSH服务秘钥是否修改配置成功

sudo grep -E '^PubkeyAuthentication|^AuthorizedKeysFile' /etc/ssh/sshd_config

输出:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys```

表明此时已允许密钥认证

检查秘钥的权限

ls -ld ~/.ssh && ls -l ~/.ssh/authorized_keys

应该输出

drwx------ 2 username username 4096 日期 .ssh
-rw------- 1 username username  567 日期 authorized_keys

5、测试连接

在ubuntu服务器中检查日志

sudo tail -f /var/log/auth.log

会显示log变化,不要关闭,回到本地windows主机,输入命令

ssh -i ~/.ssh/id_rsa username@服务器IP -p 端口号

在这里插入图片描述
连接成功后,服务器的log中会显示

Accepted publickey for 服务器主机名 from 本地IP port 本地端口号  

等链接信息

http://www.dtcms.com/a/306907.html

相关文章:

  • 怎么在 WSL CentOS8 与宿主机windows11 之间传递文件
  • 网络编程(C语言)
  • 从训练到推理:Intel Extension for PyTorch混合精度优化完整指南
  • 常见CMS获取webshell的方法-靶场练习
  • 集成电路学习:什么是ARM CortexM处理器核心
  • sqli-labs:Less-5关卡详细解析
  • STP技术
  • 应用驱动 协同创新:中国人工智能开启高质量发展新篇章
  • 深度学习与图像处理案例 │ 图像分类(智能垃圾分拣器)
  • 360环视技术推荐的硬件平台:支持多摄像头与三屏异显的理想选择
  • LeetCode 刷题【22. 括号生成】
  • 敏捷与SCRUM三大支柱:数字化时代的韧性引擎
  • 【解决方案】frida-ps -Ua报错unable to perform ptrace pokedata: I/O error
  • [Python] -进阶理解10- 用 Python 实现简易爬虫框架
  • 外键列索引优化:加速JOIN查询的关键
  • 嵌入式摄像头深度解析
  • Ubuntu虚拟机介绍、命令、安装软件指令(一)
  • CNN实战项目
  • ica1靶场攻略
  • 二叉树算法之【二叉树的层序遍历】
  • python | numpy小记(八):理解 NumPy 中的 `np.meshgrid`
  • C++ Qt网络编程实战:跨平台TCP调试工具开发
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的便利店信息管理系统(附源码+数据库+毕业论文+远程部署)
  • 虚幻基础:模型碰撞体
  • [Qt]QString 与Sqlite3 字符串互动[汉字不乱码]
  • C#垃圾回收机制:原理与实践
  • PyTorch 生态四件套:从图片、视频到文本、语音的“开箱即用”实践笔记
  • 电子电气架构 --- 汽车电子电气EEA架构开发流程
  • 通义万相文生图模型wan2.2-t2i-flash和wan2.2-t2i-plus全维度深度对比
  • Java试题-选择题(1)