Linux系统自带了丰富的工具链,能够覆盖远程服务器管理的各类需求,从基础连接、文件传输到服务管理都可以通过命令行快速完成,不需要依赖额外的图形化工具。

基础连接:使用SSH建立远程会话
SSH是最常用的远程连接协议,Linux系统默认预装了SSH客户端,只需要目标服务器开启SSH服务即可建立连接。
基础的连接命令格式如下:
# 基础连接命令,user是远程服务器的用户名,server_ip是服务器公网或内网IP ssh user@server_ip # 指定端口连接,默认SSH端口是22,部分服务器会修改端口 ssh -p 2222 user@server_ip # 第一次连接时会验证服务器指纹,输入yes确认即可,之后输入用户密码完成登录
如果需要避免每次输入密码,可以配置SSH密钥登录,步骤如下:
- 本地生成密钥对:
ssh-keygen -t rsa,一路回车即可生成默认密钥 - 将公钥上传到远程服务器:
ssh-copy-id user@server_ip,输入一次密码后完成配置 - 之后再次连接就不需要输入密码了
文件传输:使用scp和rsync工具
管理服务器时经常需要传输文件,scp适合小文件快速传输,rsync适合大文件或增量同步场景。
scp基础用法
# 本地文件上传到远程服务器,/local/path是本地文件路径,/remote/path是远程目标路径 scp /local/path/file.txt user@server_ip:/remote/path/ # 远程文件下载到本地 scp user@server_ip:/remote/path/file.txt /local/path/ # 传输目录需要加-r参数 scp -r /local/dir user@server_ip:/remote/path/
rsync增量同步
# 同步本地目录到远程,-a表示归档模式,-v显示进度,-z压缩传输 rsync -avz /local/dir/ user@server_ip:/remote/dir/ # 从远程同步到本地 rsync -avz user@server_ip:/remote/dir/ /local/dir/
远程服务管理:使用systemctl命令
登录远程服务器后,经常需要管理服务状态,systemctl是Linux系统管理服务的标准工具。
# 查看服务状态,比如查看nginx服务状态 systemctl status nginx # 启动服务 systemctl start nginx # 停止服务 systemctl stop nginx # 重启服务 systemctl restart nginx # 设置服务开机自启 systemctl enable nginx # 关闭服务开机自启 systemctl disable nginx
批量管理:使用ssh批量执行命令
如果有多个服务器需要执行相同的操作,可以通过ssh直接批量执行命令,不需要逐个登录。
# 单条命令批量执行,server_list.txt存放所有服务器IP,每行一个
while read server; do
echo "执行服务器: $server"
ssh user@$server "uptime" # 远程执行uptime命令查看运行时间
done < server_list.txt
# 批量执行多条命令,用分号分隔
while read server; do
ssh user@$server "systemctl restart nginx; systemctl status nginx"
done < server_list.txt
安全注意事项
- 尽量不要使用root用户直接远程登录,创建普通用户并配置sudo权限
- 修改SSH默认端口,避免被暴力破解
- 密钥登录的私钥文件权限设置为600,避免权限泄露
- 定期更新系统补丁,修复安全漏洞
注意:所有涉及远程操作的命令都需要确认目标服务器IP和权限正确,避免误操作导致服务异常。如果是生产环境操作,建议先在小范围测试后再批量执行。