news 2026/5/4 19:16:25

Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的远程登录(6)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的远程登录(6)

Ubuntu 22.04的远程登录

6.1 快速上手:搭建实验环境

6.1.1 物理网络 vs 虚拟机

  • 物理网络:真实硬件组成的网络,适合生产环境(如企业服务器)。
  • 虚拟机:通过软件模拟的虚拟环境(如 VMware、VirtualBox),适合开发和测试(隔离环境、易于克隆)。

6.1.2 安装 OpenSSH

OpenSSH 是 Linux 下标准的安全远程登录协议,用于加密通信。

安装步骤
sudoaptupdate# 更新软件源sudoaptinstallopenssh-server# 安装 SSH 服务sudosystemctl startssh# 启动 SSH 服务sudosystemctlenablessh# 设置开机自启
bigdata@bigdata-virtual-machine:~$sudoaptinstallopenssh-server[sudo]bigdata 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 将会同时安装下列软件: ncurses-term openssh-sftp-server ssh-import-id 建议安装: molly-guard monkeysphere ssh-askpass 下列【新】软件包将被安装: ncurses-term openssh-server openssh-sftp-server ssh-import-id 升级了0个软件包,新安装了4个软件包,要卸载0个软件包,有9个软件包未被升级。 需要下载751kB 的归档。 解压缩后会消耗6,050kB 的额外空间。 您希望继续执行吗?[Y/n]y 获取:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 openssh-sftp-server amd641:8.9p1-3ubuntu0.13[38.7kB]获取:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 openssh-server amd641:8.9p1-3ubuntu0.13[435kB]获取:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy-updates/main amd64 ncurses-term all6.3-2ubuntu0.1[267kB]获取:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu jammy/main amd64 ssh-import-id all5.11-0ubuntu1[10.1kB]已下载751kB,耗时2(489kB/s)正在预设定软件包... 正在选中未选择的软件包 openssh-sftp-server。(正在读取数据库... 系统当前共安装有208935个文件和目录。)准备解压.../openssh-sftp-server_1%3a8.9p1-3ubuntu0.13_amd64.deb... 正在解压 openssh-sftp-server(1:8.9p1-3ubuntu0.13)... 正在选中未选择的软件包 openssh-server。 准备解压.../openssh-server_1%3a8.9p1-3ubuntu0.13_amd64.deb... 正在解压 openssh-server(1:8.9p1-3ubuntu0.13)... 正在选中未选择的软件包 ncurses-term。 准备解压.../ncurses-term_6.3-2ubuntu0.1_all.deb... 正在解压 ncurses-term(6.3-2ubuntu0.1)... 正在选中未选择的软件包 ssh-import-id。 准备解压.../ssh-import-id_5.11-0ubuntu1_all.deb... 正在解压 ssh-import-id(5.11-0ubuntu1)... 正在设置 openssh-sftp-server(1:8.9p1-3ubuntu0.13)... 正在设置 openssh-server(1:8.9p1-3ubuntu0.13)... Creating configfile/etc/ssh/sshd_config with new version Creating SSH2 RSA key;this may take sometime...3072SHA256:onfG1zUQon0a25Xnvjeebv9VQfR2rMu2w7gzbJkrkos root@bigdata-virtual-machine(RSA)Creating SSH2 ECDSA key;this may take sometime...256SHA256:q7zoMGKG7GsN9t2NhCWcGGtahSTi4oyn7QhnsBqg+Q4 root@bigdata-virtual-machine(ECDSA)Creating SSH2 ED25519 key;this may take sometime...256SHA256:iU8dirsuwgQwPJO1jbJH++KA3raYgpp7MV/i45TPVhA root@bigdata-virtual-machine(ED25519)Created symlink /etc/systemd/system/sshd.service → /lib/systemd/system/ssh.service. Created symlink /etc/systemd/system/multi-user.target.wants/ssh.service → /lib/systemd/system/ssh.service. rescue-ssh.target is a disabled or a static unit, not starting it. ssh.socket is a disabled or a static unit, not starting it. 正在设置 ssh-import-id(5.11-0ubuntu1)... 正在设置 ncurses-term(6.3-2ubuntu0.1)... 正在处理用于 man-db(2.10.2-1)的触发器... 正在处理用于 ufw(0.36.1-4ubuntu0.1)的触发器... bigdata@bigdata-virtual-machine:~$ bigdata@bigdata-virtual-machine:~$sudosystemctl startssh# 启动 SSH 服务bigdata@bigdata-virtual-machine:~$sudosystemctlenablesshSynchronizing state of ssh.service with SysVservicescript with /lib/systemd/systemd-sysv-install. Executing: /lib/systemd/systemd-sysv-installenablessh
配置文件(/etc/ssh/sshd_config

关键配置项(需重启 SSH 服务生效):

# 允许 root 登录(默认禁止,建议保留禁止)PermitRootLogin no# 允许密码认证(生产环境建议禁用,改用密钥认证)PasswordAuthenticationyes# 监听端口(默认 22,可修改为其他端口增强安全性)Port22

6.1.3 安装 TightVNC(图形化远程桌面)

TightVNC 是轻量级远程桌面软件,支持跨平台(Linux/Windows)。

安装步骤
sudoaptinstalltightvncserver# 安装 VNC 服务器
配置 VNC 密码

首次运行时会提示设置密码(用于客户端连接验证):

vncserver :1# 启动 VNC 服务(:1 表示第一个桌面)
防火墙配置(允许 VNC 端口)
sudoufw allow5901/tcp# 允许 VNC 端口(5900 + 桌面编号,如 :1 对应 5901)sudoufw reload# 重载防火墙规则

6.2 安全的 Shell:SSH

6.2.1 为什么不使用 Telnet?

Telnet 采用明文传输(包括密码),容易被窃听;而 SSH 通过加密通道传输数据,安全性更高。

6.2.2 从 Linux 登录另一台 Linux 服务器

基础用法
sshusername@remote_ip# 远程登录(如 ssh ubuntu@192.168.1.100)
配置文件(~/.ssh/config

简化频繁登录的主机配置:

# 创建配置文件nano~/.ssh/config# 添加主机别名(示例)Host server1 HostName192.168.1.100 User ubuntu Port22

之后可通过ssh server1快速登录。

6.2.3 从 Windows 登录 Linux

推荐使用图形化 SSH 工具,如:

  • MobaXterm:集成了 SSH、SFTP、端口转发等功能(下载地址)。
  • Xshell:专业 SSH 客户端(需付费,但有试用版)。
  • WindTerm:开源跨平台终端(支持 SSH、串口等)。

6.2.4 登录 Windows 服务器

通过Remote Desktop Protocol(RDP)登录 Windows,Linux 下可使用rdesktop工具:

sudoaptinstallrdesktop# 安装 RDP 客户端rdesktop -u windows_user -p password192.168.1.200# 登录 Windows 服务器

6.3 进阶:使用 SSH 密钥认证

6.3.1 为什么使用密钥?

密钥认证比密码更安全(避免暴力破解),且支持无密码登录(适合自动化脚本)。

6.3.2 生成密钥对

使用ssh-keygen生成 RSA 密钥对(公钥 + 私钥):

ssh-keygen -t rsa -b4096-C"your_email@example.com"# 生成 4096 位 RSA 密钥
过程说明
  • 回车选择默认路径(~/.ssh/id_rsa)。
  • 设置 passphrase(密码,用于保护私钥,可留空直接回车)。

6.3.3 复制公钥至远程主机

将本地公钥(id_rsa.pub)复制到远程主机的authorized_keys文件(实现免密码登录):

ssh-copy-id -i ~/.ssh/id_rsa.pub username@remote_ip# 如 ssh-copy-id -i ~/.ssh/id_rsa.pub ubuntu@192.168.1.100
手动复制(若ssh-copy-id不可用)
cat~/.ssh/id_rsa.pub|sshusername@remote_ip"mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

6.3.4 测试配置

sshusername@remote_ip# 应直接登录,无需输入密码

6.3.5 密钥的安全性

  • 保护私钥:设置文件权限(仅自己可读):

    chmod600~/.ssh/id_rsa
  • 使用 passphrase:若设置了 passphrase,需通过ssh-agent缓存密钥(避免每次输入):

    eval"$(ssh-agent -s)"# 启动密钥代理ssh-add ~/.ssh/id_rsa# 添加私钥到代理

6.4 小结

本章介绍了 Ubuntu 远程登录的核心技术:

  • SSH:标准安全协议,支持命令行和密钥认证。
  • VNC:图形化远程桌面,适合需要 GUI 的场景。
  • 密钥认证:比密码更安全,是实现自动化运维的关键。

建议生产环境中:

  • 禁用 root 登录和密码认证,改用密钥认证。
  • 配置防火墙规则(如 UFW)限制非法访问。
  • 使用图形化工具(如 MobaXterm)简化多主机管理。

习题

  1. 在 Ubuntu 上安装 OpenSSH,并允许 root 用户通过密钥登录(需先设置 root 密码)。
  2. 配置 VNC 服务器,设置密码为vnc123,并允许远程连接。
  3. 生成 SSH 密钥对,将公钥复制到远程主机192.168.1.101(用户名test),测试免密码登录。
  4. 比较 SSH 和 Telnet 的安全性差异,说明为何生产环境不使用 Telnet。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 15:28:18

Unity游戏翻译神器:让外语游戏秒变中文的终极指南

Unity游戏翻译神器:让外语游戏秒变中文的终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为看不懂的外语游戏而烦恼吗?面对日文、韩文或英文游戏时,是否经…

作者头像 李华
网站建设 2026/5/1 15:28:16

Unity游戏翻译终极指南:5种高效配置方案深度解析

Unity游戏翻译终极指南:5种高效配置方案深度解析 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 你是否曾因为语言障碍而错过精彩的Unity游戏体验?当面对陌生的游戏界面和对话文本…

作者头像 李华
网站建设 2026/5/1 10:40:59

WarcraftHelper技术解析:全方位优化魔兽争霸III游戏体验

WarcraftHelper技术解析:全方位优化魔兽争霸III游戏体验 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III在现代系统上的…

作者头像 李华
网站建设 2026/5/1 9:10:43

结合MinIO对象存储实现海量文档持久化管理方案

结合MinIO对象存储实现海量文档持久化管理方案 在企业知识库系统日益智能化的今天,一个常见的挑战浮出水面:如何高效、安全地管理成千上万份非结构化文档?尤其是在基于检索增强生成(RAG)的应用场景中,PDF、…

作者头像 李华
网站建设 2026/5/3 3:57:16

52、Windows 应用搜索与启动功能全解析

Windows 应用搜索与启动功能全解析 1. 应用搜索场景 应用搜索存在多种场景,具体如下: - 应用运行时 : - 无查询文本调用搜索。 - 有已知结果的查询文本调用搜索。 - 无结果的查询文本调用搜索。 - 应用未运行时 :通过搜索魅力调用应用,涵盖上述所有文本变化情况…

作者头像 李华
网站建设 2026/5/1 15:28:22

Open-AutoGLM 网页自动化真相:为什么顶尖开发者都在悄悄部署它?

第一章:Open-AutoGLM 网页自动化真相:为什么顶尖开发者都在悄悄部署它?在现代Web开发中,自动化已成为提升效率的核心手段。Open-AutoGLM 作为新兴的开源自动化框架,凭借其对大型语言模型(LLM)与…

作者头像 李华