飞天加速计划:putty远程连接服务器,安全组开放端口,screen多终端

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 飞天加速计划为我的人生提供了很大的帮助。

自我介绍

大家好,我是一名大四的学生,专业网络工程。

大四面临就业,有一个上线的项目在就业中是一个加分项;为了好就业,同学几个人就合计做一个项目出来。

我负责做一个某平台公众号的后端程序;由于需要有一个拥有外网IP的计算机进行测试,经过搜索引擎推荐,得知阿里云可以通过学生身份免费领取到一个14+60天的服务器,因此就来到了这里。

服务器一些使用上的经验

使用Putty远程连接云服务器

不知为何,每天每次进入阿里云控制台,都需要重新登录一次阿里云账号,可能是为了安全吧;

putty软件可以直接连接服务器,而不需要登录阿里云,一定程度上提高了效率;

只需要简单的配置,就可以实现通过putty软件快速登录Linux服务器;

登录方式可以选择账号密码方式,也可以使用密钥方式,这里介绍账号密码方式

方法

  1. 首先打开putty软件,进行简单的配置(第5点非常重要
  1. 配置ip,这里可以配置用户名,后面就可以不用输入用户名了。在上面的框框里输入“用户名@IP地址”,后面为端口号;image-20221011091453973.png
  2. 阿里云默认用户名为root,端口号默认22,ip地址可以到控制台查询;image-20221011091907718.png
  3. putty默认字体非常不友好,建议修改默认字体以拯救可能瞎了的眼睛;到Window -> Appearance下,点击“Change...”按钮修改字体;image-20221011092137548.png
  4. 默认编码不支持中文,在实际使用中会出现乱码现象,若终端不使用中文可以考虑不进行这一步。在Window -> Translation下,将“Remote character set”改为“UTF-8”;UTF-8编码支持中文。image-20221011092249269.png
  5. 非常重要的一点,在配置结束后,返回“Session”选项,在“Saved Session”输入框输入要保存的会话名,可以随意写,或写入“xxx's aliyun session”表示xx的阿里云服务器,然后点击save按钮保存会话。这一步非常重要,我就因为没有保存,多次重新配置这些选项。image-20221011092812232.png
  1. 配置结束以后,双击会话名就可以连接阿里云服务器了。密码输入不会显示,输入后回车就可以登录成功了;
    image-20221011093029052.pngimage-20221011093120760.png

设置安全组为要使用的服务开放端口

应用的对外开放需要打开指定端口才能正常运行,这里从阿里云提供的安全组功能开始配置;

进入安全组页面

  • 首先打开实例页面,点击安全组的名字进入安全组页面

image-20221011093248589.png

  • 安全组页面分为“入方向”和“出方向”

image-20221011093452973.png

出方向不用配置,默认全开就可以;

主要配置的是入方向

配置安全组

如果要进行一些业务,必须开放相应的端口;比如要开一个网页(搭建HTTP服务器),就需要打开80端口。下面是方法:

  1. 点击手动添加按钮开始添加自己的安全组策略

image-20221011093724098.png

这里有几个选项:

  • 授权策略,就是是否允许进行访问;这里选允许;
  • 优先级,如果有别的安全组策略与本策略有冲突,优先级高的会覆盖优先级低的策略;
  • 协议类型:有TCP、UDP等,这里选择TCP就可;
  • 这里是一些解释:默认情况下大部分业务都使用TCP协议,比如搭建HTTP服务器游戏服务器等;我要做的是搭建一个某公众平台的后端程序,使用的是HTTP协议,使用TCP就可;
  • 端口范围:不同业务类型需要选择不同的端口;
  • HTTP服务器默认为80端口或443端口;
  • 我的世界服务器默认端口25565;
  • SpringBoot项目默认端口8080;
  • ssh远程连接默认使用端口22。putty使用的就是ssh协议。
  • 授权对象,也就是允许谁访问,这里写0.0.0.0/0就可;
  • 0.0.0.0/0表示允许任何人访问;由于目前我们使用的IP都是动态的,不可能确定到允许部分人访问,所以这里写任何人就可,安全方面可以交给业务层去处理;
  • 描述,嗯..字面意思,不写或随意写;
  1. 在输入结束后,点击保存按钮就可以使规则生效了;
    这里可以考虑允许22端口访问,这个是ssh协议(putty远程连接)需要用到的端口;

screen多终端

Linux有哪些方式后台运行程序

在Linux中,使一个程序运行于后台有多种方式,比如:

  • 在要执行的程序后添加“&”符号,执行后输出结果会出现在控制台,在此期间可以进行其他操作;执行后返回进程的PID。(进程PID唯一标识一个进程,用于控制进程,比如不想要了可以使用PID和相关命令终止进程运行)
    image-20221011095923219.png
    如图中50198就是进程的PID;
    这个方式有个缺点,就是进程不易控制,且进程会随着当前会话的结束而终止
    这个命令一般用于临时运行一些程序;
    image-20221011100434936.png
  • 使用Linux服务功能,服务可以真正的实现后台运行程序,具体使用方法可以到搜索引擎查看
    这个方法虽然可以使程序后台运行,但不能直接进行交互,还是有些不方便;
    一般用于一些一直后台运行的程序,比如mysql,HTTP服务器(或者....游戏服务器?!)
  • Linux默认支持8个终端,可以切换使用,这个没有明显的缺点;
  • 还有一个方法,就是使用软件screen;

Screen安装

使用命令yum安装screen软件

sudo yum install screen

(由于默认为root用户,其实这里可以不用sudo前缀)

image-20221011100854911.png

(我的已经安装,所以显示“Nothing to do.”)

Screen使用说明

这里给出一些简单的操作

操作过程(命令或快捷键) 描述
screen -S 会话名 创建并进入一个会话。会话名唯一指定一个会话。注意,S是大写。
screen -r 会话名 进入一个放在后台的会话。
screen -ls 显示当前的会话列表
ctrl + A D 将当前会话放在后台,退出当前页面到原终端页面。注意:这里的按键指的是先按下ctrl键不松开,按下A后松开,然后再按下D后松开,最后松开ctrl键。

使用示例

比如说,我要运行一个可以进行数据库增删改查的java程序,然后到mysql程序查看增删改查的结果

  1. 首先创建一个名为java的会话表示这个会话用于运行java程序
screen -S java

然后运行一个java程序

图片.png

按下CTRL + A D后返回原本的终端页面

image-20221011102927762.png

这里会输出一句信息,表示从哪个终端返回回来;

  1. 再次创建一个会话mysql,运行mysql程序并连接数据库;

image-20221011103138146.pngimage-20221011103157441.pngimage-20221011103450345.png

  1. 使用ctrl + A D返回,使用screen -r java再次回到java会话。会发现之前的java程序仍旧在正常运行;

image-20221011103522796.pngimage-20221011103615303.pngimage-20221011103827889.png

这样就是screen的使用了。

收获总结

putty忘记保存会话

在第一次使用putty的时候,由于没有进行配置每次运行都需要重新配置;

后来在某次使用中观察到putty有保存会话功能,就决定下次使用的时候进行会话保存,然后..这个现象发生了好多次,

每次都会把这个事情忘记,连接后才想起来没有进行会话保存。(为什么putty没有提示让我去保存啊!╥﹏╥)

你看隔壁notepad软件都会提示是否要保存当前文件

image-20221011104354388.png

安全组开放端口

第一次使用阿里云运行自己的HTTP页面,发现通过外网不能访问到自己的页面;

以为是linux防火墙导致,所以在ufw或iptables上捣鼓了很长时间...

后来得知阿里云内置一个防火墙叫安全组,需要自己开放端口才行;

阿里云网页端远程连接可以保存会话

image-20221011104824649.png

使用阿里云的Workbench功能登录Linux后,关闭网页会保存未关闭的会话,

再次进入此页面会发现之前的命令记录仍旧存在。

个人作品

目前使用阿里云运行了一个SpringBoot项目、使用Nginx+hexo+git搭建了一个简单的博客页面。

image-20221011105241312.pngimage-20221011105329965.pngimage-20221011105407535.pngimage-20221011105422235.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
消息中间件 安全 Kafka
Kafka启动后需要开放什么端口?
Kafka启动后需要开放什么端口?
1138 7
|
4月前
|
安全 Ubuntu 应用服务中间件
Web服务器安全最佳实践
【8月更文第28天】随着互联网的发展,Web服务器成为了企业和组织的重要组成部分。然而,这也使得它们成为黑客和恶意软件的目标。为了确保数据的安全性和系统的稳定性,采取适当的安全措施至关重要。本文将探讨一系列保护Web服务器的最佳策略和技术,并提供一些实用的代码示例。
365 1
|
21天前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
此API用于检测指定TCP端口是否开放,支持POST/GET请求。需提供用户ID、KEY、目标主机,可选指定端口(默认80)和地区(默认国内)。返回状态码、信息提示、检测主机、端口及状态(开放或关闭)。示例中ID和KEY为公共测试用,建议使用个人ID和KEY以享受更高调用频率。
38 14
|
1月前
|
安全 开发工具 Swift
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发
Swift 是苹果公司开发的现代编程语言,具备高效、安全、简洁的特点,支持类型推断、闭包、泛型等特性,广泛应用于苹果各平台及服务器端开发。基础语法涵盖变量、常量、数据类型、运算符、控制流等,高级特性包括函数、闭包、类、结构体、协议和泛型。
30 2
|
1月前
|
网络协议 API
检测指定TCP端口开放状态免费API接口教程
该API用于检测目标主机指定TCP端口是否开放,适用于检测连通状态等场景。支持指定大陆、美国、香港等检测节点。请求地址为 `https://cn.apihz.cn/api/wangzhan/port.php`,支持POST和GET请求方式。请求参数包括 `id`、`key`、`type`、`host` 和 `port`。返回参数包含检测结果和状态码。示例请求:`https://cn.apihz.cn/api/wangzhan/port.php?id=88888888&key=88888888&type=1&host=49.234.56.78&port=80`。
|
1月前
|
安全 Linux 网络安全
Linux 开放的端口太多了?教你一招找出所有开放的端口,然后直接干掉!
在 Linux 系统中,端口管理至关重要。本文介绍了如何使用 `netstat`、`lsof` 和 `nmap` 等工具查找开放端口,并通过关闭相关服务、修改防火墙规则或禁用网络接口来关闭这些端口,以提高系统安全性。注意不要随意关闭重要端口,谨慎操作并备份数据。
37 3
|
29天前
|
安全 Linux API
Linux服务器安全
人们常误认为服务器因存于数据中心且数据持续使用而无需加密。然而,当驱动器需维修或处理时,加密显得尤为重要,以防止数据泄露。Linux虽有dm-crypt和LUKS等内置加密技术,但在集中管理、根卷加密及合规性等方面仍存不足。企业应选择具备强大验证、简单加密擦除及集中管理等功能的解决方案,以弥补这些缺口。
26 0
|
2月前
|
SQL 安全 网络安全
守护数字资产:服务器迁移期间的安全挑战与对策
【10月更文挑战第4天】在数字化转型的浪潮中,服务器迁移成为企业不可避免的任务。然而,迁移过程中的安全挑战不容忽视。本文从安全考量的角度,探讨了服务器迁移期间可能遇到的安全问题,并提供了相应的对策和代码示例。
97 3
|
3月前
|
Linux Python
用python扫描linux开放的端口(3种方式)
这篇文章介绍了三种使用Python实现Linux端口扫描的方法,包括基础版端口扫描、全端口扫描和多线程扫描技术。
73 15
|
2月前
|
安全 网络安全 数据安全/隐私保护
Cisco-端口安全
Cisco-端口安全