环境配置
# =============================================================
# ===== 默认兜底:Host * 对所有主机生效,被下方具体 Host 继承 =====
# =============================================================
Host *
# ----- 保活:防止 NAT/防火墙把空闲连接踢掉 -----
ServerAliveInterval 60 # 每 60s 客户端发一次心跳包
ServerAliveCountMax 10 # 连续 10 次无响应(≈10min)才断开
TCPKeepAlive yes # 同时启用 TCP 层 keepalive
# ----- 连接复用(关 vscode 不用重新输密码的关键)-----
ControlMaster auto # 首次连接建主连接,后续连接复用同一条 socket
ControlPath ~/.ssh/master-%r@%h:%p # %r=user %h=host %p=port,每个目标一个 socket
ControlPersist yes # 所有客户端退出后主连接仍保持(直到 ssh -O exit 或重启)
# 想一个工作日后自动断开可改成 8h
# ----- 兼容内网老版本 OpenSSH 的弱算法 -----
# 新版 OpenSSH 默认禁用了这些算法,这里用 + 在默认列表上"追加"恢复兼容
KexAlgorithms +diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
# ----- 信任所有 host key(仅适用于受控的内网环境)-----
# 牺牲了 MITM 检测,换来不弹 yes/no、host key 变了也不拒绝
# 如想保留一定防护可改成 accept-new(首次自动接受、之后变更仍拒绝)
StrictHostKeyChecking no
# =============================================================
# ===== 跳板机(堡垒机) =====
# =============================================================
# 用法:ssh cc 等价于 ssh xinfang.xf@xx.xx.com
# 算法、ControlMaster 等全继承自上面的 Host *
Host cc
HostName xx.xx.com
User xinfang.xf
# =============================================================
# ===== 开发机:通过 cc 上的 nc 进程中转流量 =====
# =============================================================
# 为什么用 ProxyCommand+nc 而不是 ProxyJump/-W:
# cc 这台堡垒机禁用了 sshd 的 TCP 转发(AllowTcpForwarding no),
# 所以 ssh -W / ProxyJump 会被拒("Session open refused by peer"),
# 只能在 cc 上真的跑一个 nc 进程做转发。
# 命令展开:ssh -q cc nc %h %p
# -q 静音 ssh 自身输出,避免污染 stdio
# cc 复用本配置文件里的别名(自动用 ControlMaster 主连接,免密)
# nc %h %p 在 cc 上执行 nc 连接到目标主机:端口
# 开发机(个人账号)
Host lego
HostName 1.1.1.1
User xinfang.xf
ProxyCommand ssh -q cc nc %h %p
# 同一台开发机的 admin 账号入口
Host lego_admin
HostName 1.1.1.1
User admin
ProxyCommand ssh -q cc nc %h %p
su - username
first_build:
abxp -cxy
debug:
PAA_CACHE_DEBUG=1 scons -u . mode=debug
ssh-keygen -t rsa -C $email_address
指定主目录
sudo usermod -d /online/xinfang.xf -m xinfang.xf
或者
sudo vim /etc/passwd
改变目录所有者
chown xinfang.xf ./dir -R
git邮箱
git config user.email “xx.com”
df(disk free)命令用于显示整个文件系统的磁盘空间使用情况。
- 查看所有挂载的文件系统的磁盘使用情况:df -h
du(disk usage)命令用于估算文件和目录的磁盘使用情况。
- 查看当前目录下所有文件和目录的磁盘使用情况:du -sh */
日志查看技巧
# 查看日志
vim 1.log
# /keyword # 检索
# :set nu # 查看行号
# cat 1.log | python3 -m json.tool > formatted.log #json格式查看日志
Ctrl+F — 向前翻一页(Forward)
Ctrl+B — 向后翻一页(Backward)
Ctrl+D — 向下翻半页(Down)
Ctrl+U — 向上翻半页(Up)
gg — 跳到文件开头
G — 跳到文件末尾
:n — 跳到第 n 行(如 :100 跳到第 100 行)
#显示中文编码:
python3 -c "
import json, sys
with open(sys.argv[1], 'r') as f:
data = json.load(f)
with open(sys.argv[1], 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=2)
" your_file.json