ubuntu 开启ssh踩坑之旅

文章目录

    • 确认当前用户为普通用户 or root
    • 命令使用ssh还是sshd
        • 服务名称的由来
    • apt update和apt upgrade的关系
        • apt upgrade报错:“E: 您在 /var/cache/apt/archives/ 上没有足够的可用空间”
    • 开启ssh步骤
    • 错误排查
      • 查看日志
      • 修改sshd_config文件
      • 允许防火墙通过22端口

确认当前用户为普通用户 or root

我当前是一个普通用户,需要使用sudo命令;如何判断当前用户为普通用户 or root:

方法一:查看命令行提示符

root@hostname:~# // 普通用户以#结尾
username@hostname:~$ // 普通用户以$结尾

方法二:使用id命令

iduid=0(root) gid=0(root) groups=0(root) // root 用户:会显示 uid=0(root)
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom),27(sudo) // 普通用户:uid 为非零值(如 uid=1000(username))

命令使用ssh还是sshd

ubuntu中没有sshd命令,只有ssh,指的就是sshd

centos中用的是sshd

服务名称的由来
  • sshd
    OpenSSH 服务器的守护进程名称为 sshdSecure Shell Daemon),其 systemd 服务文件通常为 /lib/systemd/system/ssh.service,但服务名仍为 ssh(Debian/Ubuntu 的命名习惯)。
  • ssh
    在 Debian/Ubuntu 中,OpenSSH 服务器的 systemd 服务名称被简化为 ssh(出于历史兼容性),但实际调用的进程仍是 sshd

apt update和apt upgrade的关系

sudo apt update 更新系统安装包列表,没有更新安装包

sudo apt upgrade -y -y 表示下面问问题都回答yes; 更新安装包;可能会占用很大的内存

apt upgrade报错:“E: 您在 /var/cache/apt/archives/ 上没有足够的可用空间”

在这里插入图片描述

解决方案:使用软链,换个更大的地方存:

在这里插入图片描述

df -h // 看看哪个剩余空间大
sudo mkdir /dev/shm/cache // 在空间大的目录下创建
sudo rm -rf /var/cache/apt/archives // 删除原文件,原文件在 / 下,所以新文件夹建在其他mounted on下
sudo ln -s /dev/shm/cache /var/cache/apt/archives // 创建软链
sudo apt upgrade // 重新执行失败命令

开启ssh步骤

步骤一sudo apt update // 更新系统软件包列表和源信息

步骤二sudo apt install openssh-server -y // -y 表示所有的问题选yes

在这里插入图片描述

步骤三sudo systemctl start ssh // 启动ssh

步骤四sudo systemctl status ssh // 查看当前状态

在这里插入图片描述

步骤五sudo systemctl enable ssh.service

再次查看状态:sudo systemctl status ssh

在这里插入图片描述

步骤六passwd // 设置密码(普通用户)

如果没设置过,命令passwd就会直接输入新密码;如果修改过密码,命令passwd需要先输入当前密码,再设置新密码。

忘记当前密码, 强制修改密码: sudo passwd $username;查看当前用户命令:whoami

步骤七sudo systemctl enable ssh 设置开机自启

步骤八ip a 查看当前ip

在这里插入图片描述

步骤九ssh $username@ip 尝试连接服务

错误排查

查看日志

sudo tail -f /var/log/auth.log 实时查看日志,尝试连接时此处会实时打印相应日志;sudo systemctl status ssh 也能在底部看到实时日志

常见错误:

  • Failed password for username 密码错误
  • Permission denied(publickey) 未允许密码登录
  • User Username not allowed because shell is /bin/false 用户shell被禁用

注意:错误信息是参考,比如密码错误日志不一定是密码错误

修改sshd_config文件

sudo apt install vim 
sudo vim /etc/ssh/sshd_config# 修改/etc/ssh/sshd_config文件
# 搜索: /PasswordAuthentication  //(/表示搜索)
# 设置:PasswordAuthentication yes
# 注意:默认不允许root用户账号密码访问,需要设置PermitRootLogin yessudo systemctl restart ssh // 重启ssh服务,以应用更改

允许防火墙通过22端口

sudo ufw status 查看防火墙是否开启;若为inactive,表示未开启仅应用底层规则,相当于允许所有端口通过;

在这里插入图片描述

若开启防火墙了,需要允许ssh端口通过

sudo ufw allow ssh // 规则变更后立即生效,无需重启防火墙;如果修改配置文件,需要手动重启

开启后,通过sudo ufw status查看开启状态,示例:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89699.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力扣:动态规划java

sub07 线性DP - O(1) 状态转移2_哔哩哔哩_bilibili 跳楼梯 class Solution {public int climbStairs(int n) {if (n < 1) {return 1; // 处理边界情况}int[] dp new int[n 1]; // 创建长度为n1的数组&#xff0c;比方说跳二级楼梯dp[0] 1; // 初始值设定dp[1] 1;for (…

React Native打开相册选择图片或拍照 -- react-native-image-picker

官方文档&#xff1a;https://www.npmjs.com/package/react-native-image-picker 场景&#xff1a;点击按钮打开相册选择图片或者点击按钮拍照 import { launchCamera, launchImageLibrary } from react-native-image-picker;// ... <TouchableOpacityactiveOpacity{0.7}o…

USRP B210生成信号最大带宽测试之Frank

书接上文&#xff1a; USRP B210生成LFM,SFM,BPSK,Frank信号的最大带宽测试&#xff08;一&#xff09; USRP B210生成信号最大带宽测试&#xff08;二&#xff09;SFM USRP B210生成信号最大带宽测试&#xff08;三&#xff09;LFM USRP B210生成信号最大带宽测试之BPSK …

pages.json页面路由中,globalStyle的各个属性

欢迎来到我的UniApp技术专栏&#xff01;&#x1f389; 在这里&#xff0c;我将与大家分享关于UniApp开发的实用技巧、最佳实践和项目经验。 专栏特色&#xff1a; &#x1f4f1; 跨平台开发一站式解决方案 &#x1f680; 从入门到精通的完整学习路径 &#x1f4a1; 实战项目经…

[前端技术基础]CSS选择器冲突解决方法-由DeepSeek产生

在 CSS 中&#xff0c;当多个选择器对同一元素的相同属性&#xff08;如颜色&#xff09;定义发生冲突时&#xff0c;浏览器会通过层叠规则&#xff08;Cascading&#xff09;解决冲突。具体优先级从高到低如下&#xff1a;1. !important 规则&#xff08;最高优先级&#xff0…

解决 IDEA 中 XML 文件的 “URI is not registered” 报错

解决 IDEA 中 XML 文件的 “URI is not registered” 报错 在使用 IDEA 开发时&#xff0c;XML 文件&#xff08;尤其是带有 DTD 约束的配置文件&#xff0c;如 MyBatis、Spring 配置文件&#xff09;常出现 URI is not registered (Settings | Languages & Frameworks | S…

FreeBSD Conda Python3.12下安装GPT4Free(g4f)0.5.7.3版本

FreeBSD下不能直接安装g4f&#xff0c;因为Curl_cffi这个库装不上。0.5.0.3这个版本不需要这个库&#xff0c;所以可以安装。 那么就没有办法安装新版本了吗&#xff1f; 有的&#xff0c;就是在linux仿真环境下。 Linux仿真环境安装g4f 最简单的方法是使用chroot进入linux仿…

Node.js 中基于请求 ID 实现简单队列(即时阻止策略/排队等待策略)

在Node.js 中基于请求 ID 实现简单队列 下面示例演示两种策略&#xff0c;以同一个请求 ID 为单位&#xff1a; 即时阻止策略&#xff1a;如果已有相同 ID 的请求在处理&#xff0c;直接报错并返回。 排队等待策略&#xff1a;后续相同 ID 的请求不报错&#xff0c;而是挂起&…

详解如何解决Mysql主从复制延迟

解决 MySQL 主从复制延迟需要从架构设计、参数调优、硬件优化等多维度综合处理。一、根本原因分析主从延迟的本质是&#xff1a;从库的 SQL 线程重放速度 < 主库的写入速度 常见瓶颈点&#xff1a;单线程回放&#xff08;MySQL 5.6 前&#xff09;从库硬件配置低&…

Spring之事务使用指南

Spring之事务使用指南一、事务的基础概念1.1 什么是事务&#xff1f;1.2 事务的ACID特性1.3 Spring事务的核心优势二、Spring事务的核心配置三、事务传播行为&#xff08;Propagation&#xff09;3.1 常用传播行为详解3.1.1 REQUIRED&#xff08;默认值&#xff09;3.1.2 SUPPO…

基于FPGA的多级流水线加法器verilog实现,包含testbench测试文件

目录 1.课题概述 2.系统仿真结果 3.核心程序 4.系统原理简介 5.参考文献 6.完整工程文件 1.课题概述 流水线&#xff08;Pipeline&#xff09;技术源于工业生产中的装配线理念&#xff0c;在数字电路中&#xff0c;它将一个复杂运算任务分解为若干个子任务&#xff0c;每…

5.1.4习题精讲

一、单项选择题 01. 下列部件不属于控制器的是&#xff08; C &#xff09;。 题目原文 下列部件不属于控制器的是&#xff08; &#xff09;。 A. 指令寄存器 B. 程序计数器 C. 程序状态字寄存器 D. 时序电路 正确答案&#xff1a;C 题目解析 考点分析&#xff1a; 本题考察CP…

华为云Flexus+DeepSeek征文|低代码 × 强推理:华为云 Flexus 搭建可部署的 AI Agent 实践方案【搭建宠物养护小知识AI助手】

文章目录华为云FlexusDeepSeek征文&#xff5c;低代码 强推理&#xff1a;华为云 Flexus 搭建可部署的 AI Agent 实践方案【搭建宠物养护小知识AI助手】&#x1f680; 引言一、核心技术概览1. 华为云 Flexus X2. DeepSeek-R1 模型3. Dify 平台二、总体架构设计三、环境准备与资…

基于智慧经营系统的学校住宿登记报表分析与应用探究-毕业论文—仙盟创梦IDE

摘要本文聚焦学校住宿场景&#xff0c;以 “未来之窗智慧经营&#xff08;学校住宿&#xff09;” 系统生成的日报表、昨日报表、本月报表为研究对象&#xff0c;深入剖析报表数据结构、功能价值及在住宿管理中的应用。通过解读水费、电费、押金、房费、总计、订单等数据维度&a…

arping(ARP协议网络测试工具)

1. 项目介绍&#xff1a;arping 是一个用于在局域网&#xff08;LAN&#xff09;中查找特定 IP 地址是否被占用的实用工具。与传统的 ping 命令不同&#xff0c;arping 使用 ARP 协议来发送和接收数据包&#xff0c;从而能够检测到那些阻止 ICMP 请求的主机。arping 可以帮助网…

【UE5医学影像可视化】读取dicom数据生成2D纹理并显示

文章目录1.实现目标2.实现过程2.1 数据准备2.2 创建项目2.3 dcmtk库集成2.4 流程&原理2.5 材质2.6 应用实现3.参考资料1.实现目标 本文在UE5中读取本地的dicom文件&#xff0c;解析像素值、窗宽窗位等信息&#xff0c;生成2D纹理&#xff0c;在UE场景中实现简单的2D医学影像…

lua(xlua)基础知识点记录一

1. 关于 (…) 操作符 编译阶段优化&#xff1a;Lua 编译器会对常量字符串进行优化处理&#xff0c;将连续的字符串拼接操作 (…) 合并为单个字符串。这种优化仅适用于编译期确定的常量字符串&#xff0c;不适用于运行时生成的动态字符串。 示例&#xff1a;local str "He…

【Python数据采集】Python爬取小红书搜索关键词下面的所有笔记的内容、点赞数量、评论数量等数据,绘制词云图、词频分析、数据分析

Python爬取小红书搜索关键词下面的所有笔记的内容、点赞数量、评论数量等数据&#xff0c;绘制词云图、词频分析、数据分析 使用 Python 编写一个简单的爬虫程序来从小红书抓取与指定关键词相关的笔记数据&#xff0c;并对这些数据进行基本的数据分析&#xff0c;包括词云图和…

最大子数组和问题-详解Kadane算法

最大子数组和问题-详解Kadane算法一、问题定义与暴力解法1.1 问题描述1.2 暴力解法的低效性二、Kadane算法的核心原理2.1 动态规划思想的应用2.2 优化空间复杂度三、Kadane算法的Java实现3.1 基础版本&#xff08;处理所有情况&#xff09;3.2 算法正确性验证四、Kadane算法的变…

Mongoose网络库深度解析:从单线程到多线程的架构演进

0. 引言&#xff1a;C/C网络编程的困境与突破 在C/C开发领域&#xff0c;网络编程一直是一个令人头疼的问题。与Python的requests库或Go的net/http包不同&#xff0c;C/C缺乏统一的包管理体系和标准化的网络API。开发者往往需要面对gcc/msvc版本差异、平台兼容性问题、以及各种…