‹ 返回笔记 Esc·

Linux 命令

关闭 root 登录 修改 /etc/ssh/sshd_config 中为 PermitRootLogin no --- 修改 SSH 22 端口 1. 编辑 sshd 配置文件 2. 找到 # Po…

关闭 root 登录

修改 /etc/ssh/sshd_config 中为 PermitRootLogin no

1sudo systemctl daemon-reload
2sudo systemctl restart ssh

修改 SSH 22 端口

  1. 编辑 sshd 配置文件
1sudo vim /etc/ssh/sshd_config
  1. 找到 # Port 22,将其修改为新的端口号,云服务器记得放通端口
  2. 重启 ssh 服务使其生效
1sudo systemctl daemon-reload
2sudo systemctl restart ssh

修改 Hostname 名称

1sudo hostnamectl set-hostname n1

单次会话 sudo 免密

如果你不希望变成 root 用户,只是想让 sudo 记住密码的时间长一点(默认通常是 5 或 15 分钟),你可以修改配置文件。

  1. 输入 sudo visudo
  2. 找到 Defaults env_reset 这一行。
  3. 将其修改为:Defaults env_reset, timestamp_timeout=60(这里的 60 代表 60 分钟内不需要重复输入密码。如果设置为 -1,则在当前终端关闭前永不过期)。

输入以下命令手动清除缓存的密码: sudo -k


普通用户免密 sudo

云服务默认就是普通用户密码。

如果不想每次输入密码,可以配置免密。

⚠️ 注意:这是高风险操作,等于完全放开权限。

  1. 编辑 sudo 配置文件,不要直接改 /etc/sudoers,要用:
1sudo visudo
  1. 添加一行,在文件最后添加:
1zailiang ALL=(ALL) NOPASSWD:ALL

第一个 ALL → 所有主机

第二个 ALL → 可以切换成任何用户

NOPASSWD → 不需要输入密码

ALL → 可以执行所有命令

  1. 配置变更后即时生效 ,保存退出并测试
1# 先清除 sudo 缓存
2sudo -k
3# 然后执行
4sudo ls /root

如果没有提示输入密码,说明免密成功。


让普通用户拥有 sudo 资格

第一次安装系统时,此普通用户已获取 sudo 资格。

  1. 查看当前用户,假设用户名是:zailiang
1whoami
  1. 将用户加入 sudo 组
1# Ubuntu / Debian
2sudo usermod -aG sudo zailiang
3# CentOS / RHEL / Rocky
4sudo usermod -aG wheel zailiang
  1. 重新登录
1exit
2# 极简探针验证
3sudo ls /root

正常情况下,普通用户执行:ls /root,一定会得到:Permission denied。

1groups

检查当前用户是否已经在 sudo 组。


部分 bin 文件命令设置全局可用

  1. 创建符号链接(推荐)sudo ln -s /usr/local/openresty/nginx/sbin/nginx /usr/local/bin/nginx
  2. 修改 /etc/profile 添加 export PATH=/usr/local/openresty/nginx/sbin:$PATH
  3. 修改 /etc/bashrc/etc/zshrc 添加 export PATH=/usr/local/openresty/nginx/sbin:$PATH

服务器定时任务

  1. 打开 crontab 编辑器 运行以下命令以编辑 crontab:
1crontab -e
  1. 添加定时任务 在 crontab 文件中,添加以下行以设置任务每 10 分钟运行一次,并将输出和错误信息记录到指定文件中:
1*/10 * * * * cd /path/to/your/scrapy/project && scrapy crawl your_spider_name >> /path/to/your/logfile.log 2>&1
  1. 保存并退出
  2. 检查任务是否设置成功,使用以下命令查看已设置的 crontab 作业:
1crontab -l

curl 请求开启网络代理

1curl -I -x 192.168.2.41:1314 https://www.baidu.com

curl 永久配置网络代理

1proxy="http://192.168.2.41:1314"
2noproxy="127.0.0.1,localhost,192.168.2.41,192.168.2.42"

配置免密别名登陆

  1. 先在本地生成密钥,中间过程跳过,文件默认保存在~/.ssh下,生成公钥id_ed25519.pub,私钥 id_ed25519
1ssh-keygen
  1. 复制公钥到远程服务器上,并输入密码
1ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 10022 <user>@<your-server-ip>
  1. 本地添加别名替代主机名,在本地的 ~/.ssh/config 文件中配置一个别名
1Host ali
2    HostName <your-server-ip>
3    Port 10022
4    User zailiang
5
6Host n1
7    HostName 192.168.2.41
8    User root
9
10Host n2
11    HostName 192.168.2.42
12    User root

SSH 配置远程 root 登陆

  1. 编辑SSH配置文件

使用文本编辑器打开SSH配置文件(通常位于/etc/ssh/sshd_config):

1sudo vim /etc/ssh/sshd_config
  1. 修改相关参数

找到以下参数并进行修改:

1# 允许root登录(默认可能是"prohibit-password"或"no")
2PermitRootLogin yes
3
4# 如果需要密码认证(如果使用密钥认证可以保持默认)
5PasswordAuthentication yes
  1. 重启SSH服务

保存文件后,重启SSH服务使更改生效:

1sudo systemctl restart ssh
2# 或者对于较旧系统
3sudo service ssh restart

低配资源开启 swap

小内存服务器真的容易瞬时爆内存,瞬间就能吃爆 2GB。例如 pnpm install 构建时很容易被OOM Killer 杀掉进程。开 swap 后虽然会变慢,但至少能编译完。

创建 2GB swap

1sudo fallocate -l 2G /swapfile
2sudo chmod 600 /swapfile
3sudo mkswap /swapfile
4sudo swapon /swapfile

永久生效

1/swapfile none swap sw 0 0    # 加入

再调低 swappiness

1vm.swappiness=60    # 默认,表示系统比较积极使用 swap

临时修改

1sudo sysctl vm.swappiness=10    # 建议改成 10,这样优先使用 RAM,实在不够才 swap

永久修改

1echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

tree 一边接收输入,一边写入文件,同时还能输出到终端

查看是否生效

1swapon --show
2# 或
3free -h

命令开启历史存储

1 echo $HISTFILE
2
3 echo $HISTSIZE
430
5 echo $SAVEHIST
60
7
8 ls -lh ~/.zsh_history
9ls: cannot access '/home/zailiang/.zsh_history': No such file or directory

你的 zsh 现在几乎是最原始配置

1HISTFILE=
2HISTSIZE=30
3SAVEHIST=0

这意味着:

1只在内存保留 30 条历史
2不保存到文件
3退出 Shell 后全部丢失

.zshrc 中添加

1HISTSIZE=10000
2SAVEHIST=10000
3HISTFILE=~/.zsh_history