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

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.lryc.cn/news/591342.html

相关文章:

  • 加速度传感器方向校准方法
  • 原生前端JavaScript/CSS与现代框架(Vue、React)的联系、区别与运行环境(精简版)
  • 关于用git上传远程库的一些常见命令使用和常见问题:
  • Python爬虫入门到实战(2)-selenium驱动浏览器
  • 静态住宅IP和节点有什么区别?哪种更适合你的需求?
  • Redis完全指南:从基础到实战(含缓存问题、布隆过滤器、持久化及Spring Boot集成)
  • redis速记
  • 【WPF】WPF 自定义控件之依赖属性
  • springboot打包二次压缩Excel导致损坏
  • 【Linux基础知识系列】第五十四篇 - 网络协议基础:TCP/IP
  • 深入GPU硬件架构及运行机制
  • 鸿蒙UI自动化测试框架Hypium的使用指南
  • springboot跨域问题 和 401
  • 解锁数据分析:从基础概念到核心指标的全面指南
  • 数据分析:从数据到决策的核心逻辑与实践指南
  • 电脑DLL错误修复dll微软运行库工具修复dll缺失找不到dll等问题,dll免费修复工具
  • Servlet概述
  • 基于arduino单片机汽车智能电子防碰撞装置设计
  • linux_线程同步
  • 一文掌握Harbor的配额管理和GC机制
  • 2025测绘程序设计国赛实战 | 泰森多边形算法C#实现
  • 华为云容器产品分析
  • tcp/udp调试工具
  • Python20 —— 二维数据的处理
  • 【C++类和对象解密】面向对象编程的核心概念(下)
  • Python 网络爬虫 —— 代理服务器
  • HTML前端性能优化完整指南
  • LeetCode 234:回文链表
  • Day04_C语言网络编程20250716_sql语言大全
  • Ollama使用指南-更改默认安装路径和Model路径(安装到非C盘)