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 端口
- 编辑 sshd 配置文件
1sudo vim /etc/ssh/sshd_config
- 找到
# Port 22,将其修改为新的端口号,云服务器记得放通端口 - 重启 ssh 服务使其生效
1sudo systemctl daemon-reload
2sudo systemctl restart ssh
修改 Hostname 名称
1sudo hostnamectl set-hostname n1
单次会话 sudo 免密
如果你不希望变成 root 用户,只是想让 sudo 记住密码的时间长一点(默认通常是 5 或 15 分钟),你可以修改配置文件。
- 输入
sudo visudo。 - 找到
Defaults env_reset这一行。 - 将其修改为:
Defaults env_reset, timestamp_timeout=60(这里的 60 代表 60 分钟内不需要重复输入密码。如果设置为-1,则在当前终端关闭前永不过期)。
输入以下命令手动清除缓存的密码: sudo -k
普通用户免密 sudo
云服务默认就是普通用户密码。
如果不想每次输入密码,可以配置免密。
⚠️ 注意:这是高风险操作,等于完全放开权限。
- 编辑 sudo 配置文件,不要直接改 /etc/sudoers,要用:
1sudo visudo
- 添加一行,在文件最后添加:
1zailiang ALL=(ALL) NOPASSWD:ALL
第一个 ALL → 所有主机
第二个 ALL → 可以切换成任何用户
NOPASSWD → 不需要输入密码
ALL → 可以执行所有命令
- 配置变更后即时生效 ,保存退出并测试
1# 先清除 sudo 缓存
2sudo -k
3# 然后执行
4sudo ls /root
如果没有提示输入密码,说明免密成功。
让普通用户拥有 sudo 资格
第一次安装系统时,此普通用户已获取 sudo 资格。
- 查看当前用户,假设用户名是:zailiang
1whoami
- 将用户加入 sudo 组
1# Ubuntu / Debian
2sudo usermod -aG sudo zailiang
3# CentOS / RHEL / Rocky
4sudo usermod -aG wheel zailiang
- 重新登录
1exit
2# 极简探针验证
3sudo ls /root
正常情况下,普通用户执行:ls /root,一定会得到:Permission denied。
1groups
检查当前用户是否已经在 sudo 组。
部分 bin 文件命令设置全局可用
- 创建符号链接(推荐)
sudo ln -s /usr/local/openresty/nginx/sbin/nginx /usr/local/bin/nginx - 修改
/etc/profile添加export PATH=/usr/local/openresty/nginx/sbin:$PATH - 修改
/etc/bashrc或/etc/zshrc添加export PATH=/usr/local/openresty/nginx/sbin:$PATH
服务器定时任务
- 打开 crontab 编辑器 运行以下命令以编辑 crontab:
1crontab -e
- 添加定时任务 在 crontab 文件中,添加以下行以设置任务每 10 分钟运行一次,并将输出和错误信息记录到指定文件中:
1*/10 * * * * cd /path/to/your/scrapy/project && scrapy crawl your_spider_name >> /path/to/your/logfile.log 2>&1
- 保存并退出
- 检查任务是否设置成功,使用以下命令查看已设置的 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"
配置免密别名登陆
- 先在本地生成密钥,中间过程跳过,文件默认保存在
~/.ssh下,生成公钥id_ed25519.pub,私钥id_ed25519
1ssh-keygen
- 复制公钥到远程服务器上,并输入密码
1ssh-copy-id -i ~/.ssh/id_ed25519.pub -p 10022 <user>@<your-server-ip>
- 本地添加别名替代主机名,在本地的
~/.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 登陆
- 编辑SSH配置文件
使用文本编辑器打开SSH配置文件(通常位于/etc/ssh/sshd_config):
1sudo vim /etc/ssh/sshd_config
- 修改相关参数
找到以下参数并进行修改:
1# 允许root登录(默认可能是"prohibit-password"或"no")
2PermitRootLogin yes
3
4# 如果需要密码认证(如果使用密钥认证可以保持默认)
5PasswordAuthentication yes
- 重启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