Skip to content

Commit

Permalink
update network docs
Browse files Browse the repository at this point in the history
  • Loading branch information
fengzhao committed Oct 14, 2024
1 parent f13e7cc commit 6167438
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 38 deletions.
21 changes: 15 additions & 6 deletions DevOps/CICD.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,15 @@ GitLab Runner 实现了很多可用于在不同场景中运行构建的执行器



### PIPELINE

一次 Pipeline 其实相当于一次构建任务,里面可以包含多个流程,如安装依赖、运行测试、编译、部署测试服务器、部署生产服务器等流程。

任何提交或者 Merge Request 的合并都可以触发 Pipeline



流水线的流程是,提交代码后,gitlab会检测项目根目录里的`.github-ci.yml`文件,根据文件中的流水线自动构建,配置文件格式正确性可以在gitlab进行文件校验,格式使用yaml文件格式,一个yaml文件就是一个流水线,里面会定义多个作业

## 配置`.gitlab-ci.yml`文件

Expand All @@ -261,7 +269,7 @@ GitLab Runner 实现了很多可用于在不同场景中运行构建的执行器

脚本被分组到`job`中,并且作业作为更大的 **流水线** 的一部分运行。

您可以将多个独立作业分组到按定义顺序运行的**阶段**。 CI/CD 配置至少需要一项非隐藏的作业。
您可以将多个独立作业分组到按定义顺序运行的 **阶段**。 CI/CD 配置至少需要一项非隐藏的作业。

当您将 `.gitlab-ci.yml` 文件添加到仓库时,GitLab 会检测到它,并且 GitLab Runner 应用程序会运行作业中定义的脚本。

Expand Down Expand Up @@ -350,7 +358,8 @@ stages:
# 4.如果deploy中的所有job执行成功,这个流水线被标记为passed
# 如果任意一个job执行失败,流水线被标记为failed,后续stage中的job都不会执行,同一stage中的job不会被停止,会继续执行。
# 如果流水线中没有定义stages,那么 build,test,depoly就是默认的stages,默认各阶段顺序如下:
# 如果流水线中没有显式定义stages,那么build,test,depoly就是默认的stages,默认各阶段顺序如下:
# .pre
# build
# test
Expand Down Expand Up @@ -439,7 +448,7 @@ deploy_production:

- workflow:rules

workflow 用于配置规则,来确认是否执行流水线,workflow 在流水线最顶层定义。
workflow 用于控制PIPELINE行为,来确认是否执行流水线,workflow 在流水线最顶层定义。

```yaml
workflow:
Expand All @@ -456,11 +465,11 @@ deploy_production:
```yaml
workflow:
rules:
- if: '$CI_PIPELINE_SOURCE == "schedule" # 计划流水线不执行
- if: '$CI_PIPELINE_SOURCE == "schedule" # 计划流水线不执行
when: never
- if: '$CI_PIPELINE_SOURCE == "push"' # push事件不执行
- if: '$CI_PIPELINE_SOURCE == "push"' # push事件不执行
when: never
- when: always # 其他的事件都流水线
- when: always # 其他的事件都流水线
# 所有规则都可以是 when: never,最后是 when:always 规则。 匹配 when: never 规则的流水线不会运行。 所有其他流水线类型运行
```
Expand Down
45 changes: 13 additions & 32 deletions linux-foundmentals/4、ssh-scp-foundmentals.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ https://www.cnblogs.com/sparkdev/p/10166061.html



OpenSSH 客户端程序默认已经被系统安装好了,打开 设置->应用->可选功能 面板就可以看到
OpenSSH 客户端程序默认已经被系统安装好了,打开 设置->应用->可选功能面板就可以看到

也可以添加功能,安装 openssh server,安装好后,在服务中启动 openssh server 就可以让 windows 被 ssh 远程连接。

Expand All @@ -191,10 +191,6 @@ OpenSSH 服务器端程序的默认配置文件 sshd_config_default 也在这个







本文只记录 ssh 基本组件的用法,关于 ssh-agent 和 ssh-add 等命令,这里没有记录。


Expand Down Expand Up @@ -506,10 +502,10 @@ $ rpm -ql openssh-clients

# ssh客户端全局配置文件,所有用户公用的配置文件
/etc/ssh/ssh_config

# ssh客户端用户配置文件,针对某个用户的具体配置文件,可以覆盖全局配置文件
~/.ssh/config


# ssh服务端配置文件,用来配置认证方式,是否启用root登陆,加密方式等等。
/etc/ssh/sshd_config

Expand All @@ -525,6 +521,7 @@ $ rpm -ql openssh-clients
# 这个文件可以追加写入多个公钥
~/.ssh/authorized_keys

# 当第一次登陆远程主机时,不管是用密码还是密钥,这段话提示用户无法确认远程主机的真实性,只知道 RSA 公钥的指纹,询问用户是否继续。

# 你访问过远程主机的公钥指纹都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH 会核对公钥指纹。如果公钥不同,OpenSSH 会发出警告。
~/.ssh/known_hosts
Expand Down Expand Up @@ -573,18 +570,20 @@ Host *
``` shell
# /etc/ssh/sshd_config sshd 服务端常用配置选项

port 22 # ssh端口,Linux一般都是22端口做为ssh服务
PermitRootLogin yes # 允许root远程登录
PasswordAuthentication no  # 不允许密码方式登录
RSAAuthentication yes # 允许RSA认证,只针对SSH1
PubkeyAuthentication yes # 允许公钥认证
AuthorizedKeysFile .ssh/authorized_keys #保存公钥的认证文件
port 22 # ssh端口,Linux一般都是22端口做为ssh服务
PermitRootLogin yes # 是否允许root远程登录
PasswordAuthentication no  # 是否允许密码方式登录
RSAAuthentication yes # 允许RSA认证,只针对SSH1
PubkeyAuthentication yes # 是否允许公钥认证
AuthorizedKeysFile .ssh/authorized_keys # 保存公钥的认证文件

UseDNS yes # 服务端sshd服务开启UseDNS选项状态下,当客户端试图使用SSH连接服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,建议关闭该选项。
UseDNS yes # 服务端sshd服务开启UseDNS选项状态下,当客户端试图使用SSH连接服务器时,服务器端先根据客户端的IP地址进行DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,验证与其原始IP地址是否一致,这是防止客户端欺骗的一种措施,但一般我们的是动态IP不会有PTR记录,建议关闭该选项。


```
## SSH 常用场景
### 使用密钥认证方式登陆
Expand Down Expand Up @@ -913,8 +912,6 @@ rm -f tmp.sh
## ssh 和 scp 使用代理
连接国外 VPS 时,因为某些原因,ssh 连上了很卡,而且经常失去连接,因此需要让 ssh 走代理加速。
ssh 使用 socks5、http_connect 代理:
Expand Down Expand Up @@ -942,12 +939,6 @@ host github.com
scp/sftp 使用 socks5、http_connect 代理:
```shell
Expand All @@ -963,10 +954,6 @@ $ sftp -oProxyCommand="nc -Xconnect -x127.0.0.1:1080 %h %p" USER@SSH_SERVER
```
https://blog.csdn.net/DiamondXiao/article/details/52488628
Expand Down Expand Up @@ -1019,18 +1006,12 @@ pacman -Ql openssh
火狐信息安全openssh—guidelines
https://infosec.mozilla.org/guidelines/openssh
https://infosec.mozilla.org/guidelines/openss
https://github.com/jtesta/ssh-audit
对于有公网IP的Linux,一般一定要设置 ssh 登陆保护。
1、将 ssh 端口修改成非默认的 22 端口,可以有效的避免互联网上攻击者的恶意扫描和尝试登陆。
Expand Down

0 comments on commit 6167438

Please sign in to comment.