通过 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)作为现代仓储管理的核心工具,其作用不仅仅是简单地记录库存数量和位置,更在于打通仓储全链条数据,实…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

基于Flask实现的医疗保险欺诈识别监测模型
基于Flask实现的医疗保险欺诈识别监测模型 项目截图 项目简介 社会医疗保险是国家通过立法形式强制实施,由雇主和个人按一定比例缴纳保险费,建立社会医疗保险基金,支付雇员医疗费用的一种医疗保险制度, 它是促进社会文明和进步的…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...