1 概述
1.1 项目背景
随着云计算时代的进一步深入,越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基于这种需求,华为云焕新推出华为云云服务器实例新品。
感谢华为元免费赠送的优惠券,没有什么比白嫖更香了,对于我这种想要省钱又想要玩一玩云服器的,实在是很优选的选择,赶紧搞起来体验体验。
本文详细介绍了从购买服务器=>配置实例=>配置SSH连接=>配置Git服务器的完整过程,可供项目实践参考。
1.2 基本信息
1.2.1 硬件配置
服务器实例:“云耀云服务器L实例”
CPU:2核,2G
带宽:3M
1.2.2 服务器软件信息
系统:Ubuntu 22.04 server 64bit
Git版本:2.34.1
1.2.3 本地电脑软件信息
系统:win11
Git for windows版本:2.38.1.windows.1
2 购买服务器
2.1 注册华为云账号
2.1.1 华为云官网
华为元官网地址:https://www.huaweicloud.com/
2.1.2 新用户注册
若有华为账户可以不用再注册,可直接使用华为账户登录即可。
点击右上角注册按钮:
输入相关信息进行注册:
2.1.3 用户登录
点击首页右上角的“登录”按钮:
华为云提供多种登录方式。
(1)扫码登录,使用华为云APP直接扫码登录。
(2)使用密码登录
我是有华为账户,所以我直接使用华为账户进行登录了,简单省事。
注:首次登录出于安全考虑会进行验证,后续选择信任浏览器就不会重复提示了。
手机上会收到如下的验证码,在上方输入验证码后即可完成验证。
登录后华为云首页的右上角就可以看到我们自己的华为云ID了,表示我们已经登录成功。
2.2 购买服务器
2.2.1 选择服务器
可以在首页下拉在下方选择自己需要的产品直接购买即可,如下:
也可以在首页点击产品选项,然后根据需要选择自己的产品,如下:
我选的服务器是:云耀云服务器L实例
2.2.2 点击要购买的产品
我直接在首页点击服务器产品图进入了。
2.2.3 领取优惠券
领取免费发放的优惠券。
2.2.4 购买服务器
点击购买按钮进入服务器购买界面。
选择区域,我这边直接默认了
选择系统镜像,我这边选择Ubuntu系统。
选择实例规格,既然我是体验的,我就选择最便宜的。
设置实例名,可以直接默认,也可以自己设置,我这边设置为ubuntu。
增值服务,我这边直接全部放弃,暂不考虑,小伙伴可以根据自己需要自行添加。
选择购买时长,我选择一个月体验,然后点击“立即购买”按钮进行购买。
确认订单信息,确认后勾选用户协议,然后点击“去支付”。
按照提示支付,支付成功后会提示支付成功。
点击“返回华为云云耀云服务器控制台”即可返回服务器的控制台界面。
3 配置实例
3.1 进入控制台
进入华为云首页并登录,然后点击控制台菜单即可跳到我们的控制台界面。
3.2 找到服务器
点击我的资源下的云服务器选项,在跳出的界面中选择我们刚刚创建的服务器。
以下是服务器管理界面:
3.3 配置服务器
点击右上角的远程“远程登录”按钮,进入服务器进行管理。
在弹出的界面中点击“立即登录”,直接登录系统。
如下是系统界面。右侧有提示默认账户信息。
注意:公网IP需要保密哦,直接公开可能被外部攻击。
首次登录,我们不知道密码,直接点击提示框中的重置密码,先修改系统密码。
根据提示设置好自己的密码,主要要符合密码安全规范,然后勾选立即重启(因为我们是第一次使用,所以直接重启即可,若是后续修改需要根据情况先行保存数据哦。),然后点击“确定”按钮进行修改。
点击“获取验证码”,然后完成验证:
重置密码成功后,首页会提示:
等重启后刷新页面,即可重新进入服务器。
3.4 登录服务器
在服务器界面上输入账号和密码然后回车进入系统。
4 配置SSH访问
4.1 安装SSH
直接使用ssh指令查看到系统默认已经安装了SSH,我们就不用再次安装了。
4.2 启动SSH服务
4.2.1 查看下SSH状态
systemctl status ssh # 我们直接使用root账户登录的,不需要切换权限,若是普通用户,有权限的话可以添加sudo指令切换到root权限。
如下可以看出ssh已经启动同时页已经设置开机自启动了。
4.2.2 启动SSH并设置开机自启动
systemctl start ssh #启动 ssh服务器
systemctl enabled ssh # 设置ssh开机自启动
注:若对ssh配置不熟悉的,可以参考我的另一篇文章:Linux学习笔记-Ubuntu系统下配置ssh免密访问,创建多用户免密访问_鱼听禅的博客-优快云博客
4.3 配置安全组
4.3.1 开放22端口用于ssh访问
点击服务器信息菜单的“安全组”选项,然后
华为云服务器默认打开的入站规则,也就是有这个22端口,我们理论上可以直接访问的,连接效果如下:
PS C:\WINDOWS\system32> ssh root@120.46.xxx.xx
The authenticity of host '120.46.xxx.xx (120.46.xxx.xx)' can't be established.
ED25519 key fingerprint is SHA256:5DuA3UyXjSMYAcN/7thF56JNZqV3AY2AiSvKpTSgPZw.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '120.46.xxx.xx ' (ED25519) to the list of known hosts.
root@120.46.xxx.xx 's password:
Welcome to Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-76-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Fri Sep 15 10:05:18 PM CST 2023
System load: 0.0 Processes: 107
Usage of /: 9.6% of 39.07GB Users logged in: 1
Memory usage: 15% IPv4 address for eth0: 192.168.0.237
Swap usage: 0%
* Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
just raised the bar for easy, resilient and secure K8s cluster deployment.
https://ubuntu.com/engage/secure-kubernetes-at-the-edge
Expanded Security Maintenance for Applications is not enabled.
0 updates can be applied immediately.
Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status
The list of available updates is more than a week old.
To check for new updates run: sudo apt update
Welcome to Huawei Cloud Service
Last login: Fri Sep 15 17:18:34 2023
root@hcss-ecs-d2d6:~#
4.3.2 修改入站端口
虽然该端口已经有了不过还是介绍下修改入站端口。
(1)点击安全组名字,进入规则管理界面:
(2)进入安全组界面,然后选择入站规则:
(3)选中22端口的跪着,然后点击“修改”按钮进行修改:
(4)根据下方介绍,修改端口,然后点击确认。
4.3.3 新增入栈规则
进入安全组入站规则后,点击添加新规则按钮进行添加。
然后添加具体信息后点击确定保存新增规则。
4.4 配置免密访问
4.4.1 使用 ssh-keygen创建密钥
root@hcss-ecs-d2d6:~# ssh-keygen #创建密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #设置文件保存路径,直接默认。
Enter passphrase (empty for no passphrase): # 设置密钥的密码
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:8qlKprUVFx+ImcIOgbFL7V89f8812f52RX/QuBqkyZ8 root@hcss-ecs-d2d6
The key's randomart image is:
+---[RSA 3072]----+
|.o. |
|...o + . |
|....o + o . o |
|...o . .o .. o o|
|. .. o.S+.+ +.|
| . .= .* . . *|
| +.. o o = o=|
| = o . E o.=|
| . o.. +=|
+----[SHA256]-----+
4.4.2 将私钥添加到管理文件中
首先切换到“/root/.ssh”目录下,然后查看下密钥文件,将密钥添加到密钥管理文件“auhorized_keys”中。
root@hcss-ecs-d2d6:~ # cd /root/.ssh
root@hcss-ecs-d2d6:~/.ssh# ll
total 16
drwx------ 2 root root 4096 Sep 15 22:38 ./
drwx------ 5 root root 4096 Sep 15 17:23 ../
-rw------- 1 root root 0 Sep 15 16:51 authorized_keys
-rw------- 1 root root 2602 Sep 15 22:38 id_rsa
-rw-r--r-- 1 root root 572 Sep 15 22:38 id_rsa.pub
root@hcss-ecs-d2d6:~/.ssh# cat id_rsa >> authorized_keys
root@hcss-ecs-d2d6:~/.ssh#
4.4.3 在本地使用SCP将公钥和私钥文件拷贝到服务器。
PS C:\WINDOWS\system32> scp root@120.46.xxx.xx:/root/.ssh/id_rsa.pub C:\Users\LJM\.ssh\id_rsa.pub
root@120.46.xxx.xx's password:
id_rsa.pub 100% 572 13.2KB/s 00:00
PS C:\WINDOWS\system32> scp C:\Users\LJM\.ssh\id_rsa root@120.46.xxx.xx:/root/.ssh/id_rsa
id_rsa 100% 2602 54.5KB/s 00:00
PS C:\WINDOWS\system32>
注意:密钥文件的存储路径为各自的电脑user文件夹下大的.ssh目录,不可随意变更,否则客户端的git客户端将无法获取。
4.4.4 查看git for windows是否识别到密钥。
点击电脑空白处,选择Git GUI Here菜单
点击Help=>Show SSH Key选项
显示自动添加的公钥。
4.5 使用ssh-add将私钥添加到本地电脑的ssh私钥列表里
ssh-add C:\Users\LJM\.ssh\id_rsa #实际地址需要根据各自的地址修改
配置完成后,一般可以直接使用ssh免密访问,如果有异常,可以重启ssh服务,或者干脆重启服务器。
5 配置Git服务器
5.1 查看是否已安装git
直接使用—version指令查看,有显示具体版本号的即是已安装的。
root@hcss-ecs-d2d6:~# git --version
git version 2.34.1
注:若git尚未安装,可以使用apt-get指令安装。
apt-get install git
5.2 创建git仓库
root@hcss-ecs-d2d6:~# cd /mnt # 切换到mnt文件夹
root@hcss-ecs-d2d6:/mnt# ll
total 8
drwxr-xr-x 2 root root 4096 Aug 9 2022 ./
drwxr-xr-x 20 root root 4096 Sep 15 17:15 ../
root@hcss-ecs-d2d6:/mnt# mkdir git # 创建git仓库文件夹
root@hcss-ecs-d2d6:/mnt# ll
total 12
drwxr-xr-x 3 root root 4096 Sep 15 22:55 ./
drwxr-xr-x 20 root root 4096 Sep 15 17:15 ../
drwxr-xr-x 2 root root 4096 Sep 15 22:55 git/
root@hcss-ecs-d2d6:/mnt# cd git
root@hcss-ecs-d2d6:/mnt/git# mkdir testproject # 创建测试项目文件夹
root@hcss-ecs-d2d6:/mnt/git# ll
total 12
drwxr-xr-x 3 root root 4096 Sep 15 22:56 ./
drwxr-xr-x 3 root root 4096 Sep 15 22:55 ../
drwxr-xr-x 2 root root 4096 Sep 15 22:56 testproject/
root@hcss-ecs-d2d6:/mnt/git# cd testproject
root@hcss-ecs-d2d6:/mnt/git/testproject# git init –bare # 初始化git项目
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /mnt/git/testproject/
root@hcss-ecs-d2d6:/mnt/git/testproject# ll
total 40
drwxr-xr-x 7 root root 4096 Sep 15 22:56 ./
drwxr-xr-x 3 root root 4096 Sep 15 22:56 ../
drwxr-xr-x 2 root root 4096 Sep 15 22:56 branches/
-rw-r--r-- 1 root root 66 Sep 15 22:56 config
-rw-r--r-- 1 root root 73 Sep 15 22:56 description
-rw-r--r-- 1 root root 23 Sep 15 22:56 HEAD
drwxr-xr-x 2 root root 4096 Sep 15 22:56 hooks/
drwxr-xr-x 2 root root 4096 Sep 15 22:56 info/
drwxr-xr-x 4 root root 4096 Sep 15 22:56 objects/
drwxr-xr-x 4 root root 4096 Sep 15 22:56 refs/
root@hcss-ecs-d2d6:/mnt/git/testproject#
5.3 本地Clone代码下来。
完成之后,即可愉快的使用“云耀云服务器L实例”配置的Git服务器管理自己的代码,文件了。