通过 SSH 连接远程 Ubuntu 服务器
目录
- 安装 SSH 服务器
- 允许 SSH 通过防火墙
- 远程 SSH 连接
- (选)重启向日葵
安装 SSH 服务器
- 更新软件包列表
sudo apt update
- 安装 OpenSSH 服务器
sudo apt install openssh-server
- 检查 SSH 服务器状态
sudo systemctl status ssh
如果 SSH 服务器正在运行,会出现如下的输出:
● ssh.service - OpenBSD Secure Shell serverLoaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor prese>Active: active (running) since Wed 2024-11-06 18:11:36 CST; 11min agoDocs: man:sshd(8)man:sshd_config(5)Main PID: 7247 (sshd)Tasks: 1 (limit: 4387)Memory: 2.7MCGroup: /system.slice/ssh.service└─7247 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startupsNov 06 18:11:36 abc-Default-string systemd[1]: Starting OpenBSD Secure She>
Nov 06 18:11:36 abc-Default-string sshd[7247]: Server listening on 0.0.0.0>
Nov 06 18:11:36 abc-Default-string sshd[7247]: Server listening on :: port>
Nov 06 18:11:36 abc-Default-string systemd[1]: Started OpenBSD Secure Shel>
Nov 06 18:13:18 abc-Default-string sshd[8311]: Accepted password for abc f>
Nov 06 18:13:18 abc-Default-string sshd[8311]: pam_unix(sshd:session): ses>
Nov 06 18:13:54 abc-Default-string sshd[8471]: Accepted password for abc f>
Nov 06 18:13:54 abc-Default-string sshd[8471]: pam_unix(sshd:session): ses>
显示 Active: active (running) ,表示 SSH 服务器正在运行,如下图所示。

- 配置 SSH 服务器(可选)
默认情况下,OpenSSH 服务器的配置文件位于 /etc/ssh/sshd_config ,可以根据需要修改此文件来进行自定义配置。例如,更改 SSH 服务器的监听端口、允许或禁止密码登录、限制登录用户等。
允许 SSH 通过防火墙
防火墙(ufw, Uncomplicated Firewall)
- 启用防火墙(如果尚未启用)
sudo ufw enable
询问是否继续启用防火墙。输入 y 并按下 Enter 键继续。
- 检查防火墙状态
sudo ufw status
如果防火墙已经启用,会出现如下的输出:
Status: activeTo Action From
-- ------ ----
20/tcp ALLOW Anywhere
21/tcp ALLOW Anywhere
22/tcp ALLOW Anywhere
如果防火墙尚未启用,您会看到输出
Status: inactive,表明防火墙当前处于禁用状态
- 允许 SSH 通过防火墙
如果防火墙已启用但未允许 SSH 通过,则需要添加 SSH 规则
sudo ufw allow OpenSSH
出现如下输出,表示添加成功,如下图所示。

- 验证防火墙规则
sudo ufw status
如果防火墙已成功配置为允许 SSH 服务通过,会显示如下输出:
Status: activeTo Action From
-- ------ ----
OpenSSH ALLOW Anywhere
远程 SSH 连接
- 查看目标服务器 IP 地址
ip addr show | grep inet
或
ifconfig
- 使用 SSH 远程连接到服务器
ssh [username]@[server_ip_address[
将 [username] 替换为您在服务器上的用户名, [server_ip_address] 替换为目标服务器 IP 地址
例如,如果远程服务器的用户名是 user,远程服务器的 IP 地址是 192.168.1.100,则命令如下:
ssh user@192.168.1.100
- 验证身份
如果是首次连接到服务器,系统可能会显示一条消息询问是否愿意继续连接。输入 yes 并按下 Enter 键,如下图所示。

如果这是第一次连接到服务器,系统可能会要求输入密码,输入密码后按下 Enter 键。
注:在命令行中输入密码时,密码是不显示的,直接输入并回车即可
- 连接成功
出现如下输出,表示已成功连接到服务器:
Welcome to Ubuntu 20.04.1 LTS (GNU/Linux 5.4.0-42-generic x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantage...
Ref: 如何在 Ubuntu 上启用 SSH(适用于 20.04、22.04)?
(选)重启向日葵
- 查看向日葵运行状态
sudo systemctl status runsunloginclient.service

- 启动向日葵开机自启
如果状态不是active,执行以下命令,设置为开机自启动
sudo systemctl enable runsunloginclient.service
- 启动向日葵服务
sudo systemctl start runsunloginclient.service
- 查看远程设备码
注意验证码必须是永久验证码,否则重启后还是无法连接,如下图所示。

- 查看向日葵进程状态
ps -ef | grep sun
- 关闭向日葵进程

将 --mod=service 和 --cmd=autorun 的进程 kill 掉
kill 860
kill 4242
- 重启进程
/usr/local/sunlogin/bin/sunloginclient --mod=service
/usr/local/sunlogin/bin/sunloginclient --cmd=autorun
- 启动向日葵进程
路径为向日葵默认安装路径
sudo /usr/local/sunlogin/bin/sunloginclient
- 连接失败
尝试重启后再重新连接,若重启后连接失败,另寻他法
Ref: Linux远程命令行终端启动向日葵
相关文章:
通过 SSH 连接远程 Ubuntu 服务器
目录 安装 SSH 服务器允许 SSH 通过防火墙远程 SSH 连接(选)重启向日葵 安装 SSH 服务器 更新软件包列表 sudo apt update安装 OpenSSH 服务器 sudo apt install openssh-server检查 SSH 服务器状态 sudo systemctl status ssh如果 SSH 服务器正在运…...
Perl 环境安装
Perl 环境安装 Perl 是一种广泛使用的高级、通用、解释型、动态编程语言。它最初由 Larry Wall 在 1987 年设计,现在由 Perl 5 和 Perl 6 两个主要版本组成。Perl 适合于多种编程任务,包括系统管理、Web 开发、网络编程、游戏开发等。在开始使用 Perl 进行编程之前,您需要在…...
【NOIP提高组】引水入城
【NOIP提高组】引水入城 💐The Begin💐点点关注,收藏不迷路💐 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政 区划十分特殊,刚好构成一个N行M列的矩形ÿ…...
openvino python推理demo
openvino python推理demo import openvino from openvino.runtime import Core import numpy as np import argparse import hashlib import os import ioclass OpenvinoInfer:def __init__(self,device_id0):self.device_iddevice_idself.ie Core()self.available_devices …...
JavaWeb项目-----博客系统
一.设计数据库 1.创建数据库 create database if not exists java108_blog_system character set utf8; drop table if exists user; drop table if exists blog;2.创建博客列表 create table blog(blogId int primary key auto_increment,title varchar(20),content varcha…...
GY-56 (VL53L0X) 激光测距
文章目录 一、GY-56 简介二、引脚功能三、通信协议1.串口协议: 当 GY-56 PS 焊点开放时候使用(默认)(1)串口通信参数(默认波特率值 9600bps)(2)模块输出格式,每帧包含 8-13 个字节&a…...
当今陪玩系统小程序趋势,陪玩系统源码搭建后的适用于哪些平台
一、市场规模持续扩大 随着全球游戏市场的不断膨胀,游戏陪玩行业正逐渐从一个新兴领域成长为游戏产业链中不可或缺的一环。据《2024年1~6月中国游戏产业报告》显示,今年上半年,国内游戏市场实际销售收入达到1472.67亿元,同比增长…...
qt QListWidget详解
1、概述 QListWidget 是 Qt 框架中的一个类,它提供了一个基于模型的视图,用于显示项目的列表。QListWidget 继承自 QAbstractItemView 并为项目列表提供了一个直观的接口。与 QTreeView 和 QTableView 不同,QListWidget 是专门为单行或多行项…...
java ssm 校园快递物流平台 校园快递管理系统 物流管理 源码 jsp
一、项目简介 本项目是一套基于SSM的校园快递物流平台,主要针对计算机相关专业的和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具等。 项目都经过严格调试,确保可以运行! 二、技术实现 后端技术&#x…...
西安电子科技大学考研网报审核通过了,然后呢?
报考西安电子科技大学的宝贝们,考研网上确认已经截止的同学们,不用担心! 最近,有很多同学问到一个问题:网上确认时看到有消息说禁止使用海马体照片,但我明明用了海马体的照片,审核却通过了&…...
pandas习题 051:将字符串数据读取到 DataFrame
编码题)有以下逗号隔开和空格隔开的字符串数据,如何将它读取为 DataFrame ? data = ‘’’ a,b,c 1,3,4 2,4,5 ‘’’ data2 = ‘’’ a b c 1 13 214 2 4 15 ‘’’ Python 代码如下:import pandas as pd import iodata = a,b,c 1,3,4 2,4,5 df = pd.read_csv(io.Stri…...
改进探路者算法复现
本文所涉及所有资源均在 传知代码平台 可获取。 目录 一、背景及意义介绍 (一)背景 ...
PostgreSQL 学习笔记:PostgreSQL 主从复制
PostgreSQL 笔记:PostgreSQL 主从复制 博客地址:TMDOG 的博客 在现代应用程序中,数据库的高可用性和扩展性是至关重要的。PostgreSQL 提供了主从复制功能,可以在多个数据库实例之间复制数据,以实现冗余和负载均衡。本…...
【系统架构设计师(第2版)】十一、未来信息综合技术
未来信息综合技术是指近年来新技术发展而提出的一些新概念、新知识、新产品,主要包括信息物理系统(CPS)、人工智能(AI)、机器人、边缘计算、数字孪生、云计算和大数据等技术。这些技术涉及多学科、多领域,具…...
Pytorch学习--神经网络--优化器
一、头文件 torch.optim.Optimizer(params, defaults) optim文档 for input, target in dataset:optimizer.zero_grad()output model(input)loss loss_fn(output, target)loss.backward()optimizer.step()二、代码 不带优化器的代码框架 import torch import torchvision…...
w~自动驾驶合集11
我自己的原文哦~ https://blog.51cto.com/whaosoft/12329152 #特斯拉的“纯视觉”路线 , 也许不是最好的 BEVTransformer占用网络技术路线的大热,再次将激光雷达推向风口浪尖。 激光雷达该不该被抛弃? 对车企来说,这是一个艰难的抉择&am…...
大数据新视界 -- 大数据大厂之 Impala 性能优化:解锁大数据分析的速度密码(上)(1/30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
GESP4级考试语法知识(算法概论(三))
爱因斯坦的阶梯代码: //算法1-12 #include<iostream> using namespace std; int main() {int n1; //n为所设的阶梯数while(!((n%21)&&(n%32)&&(n%54)&&(n%65)&&(n%70)))n; //判别是否满足一组同余式cout<<n<…...
x-cmd pkg | gum - 轻松构建美观实用的终端界面,解锁命令行新玩法
目录 简介快速上手安装使用 功能特点竞品和相关作品进一步探索 简介 gum 是由 Charm 团队于 2022 年使用 Go 开发的终端 UI 组件工具箱,能帮用户在终端中快速构建交互式 TUI 界面(如表单、菜单、提示框等),简化命令行应用程序的开…...
WMS系统打通仓储全链条数据势在必行,该如何做呢
一、引言 在当今竞争激烈的商业环境中,高效的仓储管理对于企业的生存和发展至关重要。仓储管理系统(WMS)作为现代仓储管理的核心工具,其作用不仅仅是简单地记录库存数量和位置,更在于打通仓储全链条数据,实…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
云计算——弹性云计算器(ECS)
弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...
《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》
引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
