git - 您有偏离的分支,需要指定如何调和它们
问题描述在 gitlab 私有服务器上托管了 hexo 项目,因为直接在 gitlab 项目上使用了 IDE 在线修改文件,忘记了在本地使用 git pull 更新,结果在本地修改了文件提交推送到远程后报:
leazhi@leazhi-ubuntu2310:/data/gitlab/111111.com$ git pushTo gitlab.linuser.com:leazhi/111111.com.git ! [rejected] main -> main (fetch first)error: 推送一些引用到 'gitlab.linuser.com:leazhi/111111.com.git' 失败提示:更新被拒绝,因为远程仓库包含您本地尚不存在的提交。这通常是因为另外提示:一个仓库已向该引用进行了推送。再次推送前,您可能需要先整合远程变更提示:(如 'git pull ...')。提示:详见 'git push --help' 中的 'Note about fast-forwards ...
在 ubuntu 22.04 中,通过源码安装 Fail2ban 服务
系统环境
标题
版本
备注
系统版本
ubuntu 22.04.3 LTS (Jammy Jellyfish)
-
内核版本
5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
-
Python
v3.10.12
-
Fail2ban
v1.1.0.1
-
Fail2ban 简介Fail2ban 项目地址:https://github.com/fail2ban/fail2ban
Fail2ban 是一个用于保护 Linux 服务器的安全工具,主要用于防范暴力攻击和恶意登录。它通过监视系统日志文件来检测恶意行为,并采取预防措施来阻止攻击者。以下是 Fail2ban 的一些主要功能和特点:
日志监控: Fail2ban 会监视系统日志文件(如 /var/log/auth.log),以检测到来的登录尝试、密码错误等事件。
检测恶意行为: 它使用配置文件中定义的规则和模式来识别恶意行为,比如重复的登录失败、SSH 访问尝试等 ...
Linux 命令之 - scp
命令简介scp是Secure Copy的缩写,是一个基于SSH的安全远程文件复制工具。它可以在本地和远程主机之间复制文件或目录,并且支持递归复制。
命令语法scp [options] source_file_or_directory user@host:target_pathscp [options] user@host:source_file_or_directory target_path
参数说明
参数
说明
备注
-r
递归复制整个目录
-p
保留文件的修改时间、访问时间和模式
-q
静默模式,不显示复制进度
-C
启用压缩,可以加快传输速度
-P port
指定远程主机的SSH端口
默认为22
-4
只使用IPv4地址
-6
只使用IPv6地址
-c cipher
指定要使用的加密算法
命令实例基本用法1.从本地复制文件到远程主机
scp local_file.txt user@remote_host:/path/to/target
上面的命令将本地的local_file.txt文件复制到远程主机的/pa ...
Linux 命令之 - ssh-copy-id
命令简介ssh-copy-id是一个用于安全地将本机的SSH公钥复制到远程主机的工具。它可以自动将您的公钥添加到远程主机的authorized_keys文件中,从而允许您在不输入密码的情况下通过SSH连接到该主机。
命令格式ssh-copy-id [options] [user@]hostname
参数说明
参数
说明
备注
-i identity_file
指定要复制的身份(私钥)文件
默认为~/.ssh/id_rsa
-o ssh_option
传递给ssh命令的选项
可以多次使用此选项
-p port
指定远程主机的SSH端口
默认为22
-f
强制模式,如果目录主机的authorized_keys文件已存在则覆盖它
-n
防止重复,如果远程主机已经有了相同的密钥则不添加
命令实例基本用法1.将本地默认公钥复制到远程主机
ssh-copy-id user@remote_host
上面的命令将本机的默认公钥(~/.ssh/id_rsa.pub)复制到远程主机的authorized_keys文件中。
2. ...
Linux 命令之 - ssh-keygen
命令简介ssh-keygen是一个用于创建SSH密钥对的命令行工具。它可以生成用于SSH加密通信的公钥和私钥,并提供了多种选项来自定义密钥的类型、长度、密码短语等。
命令格式ssh-keygen [options]
参数说明
参数
说明
备注
-t dsa/ecdsa/ed25519/rsa
指定要创建的密钥类型
默认为rsa
-b bits
指定密钥长度(位)
对于RSA密钥,默认为3072位
-C comment
为公钥添加注释
通常用于标识密钥的用途或所有者
-f file
指定要创建的密钥文件路径
默认为$HOME/.ssh/id_type
-N phrase
为私钥设置密码短语
留空则不使用密码短语
-q
静默模式,不显示任何输出
-y
读取私钥并将公钥输出到stdout
命令实例基本用法1.创建默认RSA密钥对
ssh-keygen
该命令将在默认位置($HOME/.ssh/id_rsa)创建一个3072位的RSA密钥对。
2.创建具有密码短语的RSA密钥对 ...
Linux 命令之 - chpasswd
命令简介chpasswd命令是一个用于批量更新用户密码的命令行工具。它允许从标准输入或文件读取密码数据,并一次性更新多个用户的密码。
命令格式chpasswd [选项]
参数说明
参数
说明
备注
-c
加密方法(NONE DES MD5 SHA256 SHA512 YESCRYPT 中的一个)
如果没有提供这个选项,则密码将使用基于DES的散列方法加密
-m
使用 MD5 算法加密明文密码
默认使用DES加密算法
-e
使用机密后的密码
提供的密码已经加密
–crypt-method
相当于 -c
-
命令实例基本用法1.从标准输入读取密码数据
echo 'user1:newpass1user2:newpass2' | chpasswd
上面的命令将为user1和user2设置新密码。
2.从文件读取密码数据
假设passwords.txt文件包含以下内容:
user1:newpass1user2:newpass2user3:newpass3
执行以下命令可批量更新用户密码:
chpasswd < passwords.txt ...
为身在中国大陆的自己申请一个海外的手机号码之二 - 新西兰 eSIM
2024年
04月
经验证:即日起,官方已经下架了该 eSIM 的申请。后续开通待通知!
关于 5ber 卡的申请请参考:为身在中国大陆的自己申请一个海外的手机号码之一 - 5ber
one nz 简介One New Zealand Group Limited,简称One NZ(前身为Vodafone New Zealand),是一家新西兰电信公司。[2][3] One NZ是新西兰最大的无线运营商,2021年占该国移动份额市场的38%。
one nz eSIM 购买链接:https://one.nz/mobile/plan-builder/prepay/
特性
0 月租:无需月租,可长期保号,可以在中国漫游;
免实名:无需实名认证;
免费接受境外短信:可用于注册 ChatGPT、X、Telegram、Google、Apple ID、境外银行账户等;
充8块保号2年:花8块钱开卡自动保号2年;
支持 WIFI-Calling:有余额的情况下支持 WIFI-Calling
油管视频链接:https://www.youtube.com/watch?v=5lssem8575E
on ...
为身在中国大陆的自己申请一个海外的手机号码之一 - 5ber
先决条件
一部智能手机(经测试:Huawei P40 Pro 和 iPhone 12 Pro Max)
一张 MasterCard 信用卡(支持外币的)
一个能正常收发邮件的 E-mail 地址
5ber 简介通过一张SIM卡和一个app,轻松让你的手机具备eSIM功能。只需插入SIM卡,通过app激活eSIM,即可立刻连接eSIM服务。
官方站点:https://esim.5ber.com
9折优惠购买链接:https://esim.5ber.com/utm_source=leazhi
邀请码:9VC26Q
优点:
告别携带多张实体卡的烦恼;
一卡同时加载多个eSIM,只需简单操作就可以方便标记和切换eSIM;
无需额外费用,支持跨设备使用,只需将其插入另一台设备,新设备就可以使用已激活的eSIM;
购买不同国家/地区的最佳价格eSIM供应商。只需通过我们的app将它们下载到你的设备;
支持微信、支付宝和信用卡购买;
无需实名制;
缺点:
需要下载 5ber App(目前仅支持 Andriod 下载);
尽管 5ber 卡可以写入多个 eSIM, 但是每张 5 ...
在 ubuntu 22.04 中,通过二进制安装 caddy 服务
系统环境
标题
版本
备注
系统版本
ubuntu 22.04.3 LTS (Jammy Jellyfish)
-
内核版本
5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
-
Caddy
v2.7.6
-
caddy 简介caddy 安装1.下载打包好的二进制包到服务器的 /usr/local/src/ 目录下:
$ sudo wget -O /usr/local/src/caddy_2.7.6_linux_amd64.tar.gz https://github.com/caddyserver/caddy/releases/download/v2.7.6/caddy_2.7.6_linux_amd64.tar.gz
2.在 /usr/local/ 目录下创建 caddy 的工作目录 caddy/{logs,etc,bin}:
$ sudo mkdir -p /usr/local/caddy/ ...
Linux 命令之 - nc
命令简介nc(NetCat)是一个功能丰富的网络工具,可用于通过 TCP 或 UDP 协议读写网络数据。它最初被设计为一个简单的 Unix 工具,用于在两台计算机之间建立 TCP 或 UDP 连接并传输数据。随着时间的推移,nc 已成为一个非常强大的网络工具,可用于各种网络任务,如端口扫描、传输文件、探测防火墙规则等。
命令格式nc [选项] [目标主机] [端口号]
参数说明
参数
说明
备注
-l
监听模式(Listen mode)
用于入站连接
-p
本地端口号
在监听模式下指定本地端口
-u
使用 UDP 协议
默认使用 TCP 协议
-v
详细输出模式
显示更多信息
-w
超时时间(秒)
在连接或读取数据时的超时时间
-z
扫描模式(Zero I/O mode)
用于端口扫描
-k
在连接关闭时保持监听
用于持续监听模式
-c
发送一条命令后退出
适用于简单的命令或脚本
命令实例基本用法1.作为 TCP 客户端
nc example.com 80
这将尝试连接到 example.com 的 80 端口(HTTP 端口) ...