SSH是Ubuntu远程管理的核心工具,通过加密通道实现安全的远程访问。安装与配置步骤如下:
sudo apt update && sudo apt install openssh-server
/etc/ssh/sshd_config文件,确保以下关键配置生效(默认路径):PermitRootLogin yes # 允许root用户登录(生产环境建议设为`prohibit-password`或`without-password`)
PasswordAuthentication yes # 允许密码认证(如需密钥认证可设为`no`)
保存后重启SSH服务:sudo systemctl restart ssh
ufw):sudo ufw allow ssh
ssh命令连接远程服务器(替换username为远程用户名,remote_host为服务器IP或域名):ssh username@remote_host
远程进程管理命令:
登录后,可通过以下命令管理进程:
ps aux:显示所有用户的进程列表(包括CPU、内存占用);top/htop:实时动态监控进程资源占用(htop需安装,更直观);pstree:以树状结构展示进程间的父子关系。kill PID:向指定进程ID(PID)发送SIGTERM信号(请求优雅终止);kill -9 PID:强制终止进程(SIGKILL信号,适用于无响应进程)。Supervisor是进程守护工具,可实现进程自动重启、远程命令行管理及Web界面监控。
sudo apt update && sudo apt install supervisor
/etc/supervisor/conf.d/目录下创建进程配置文件(如myapp.conf),内容示例如下:[program:myapp] # 进程名称
command=/usr/bin/python3 /path/to/your/app.py # 启动命令
directory=/path/to/working/directory # 工作目录
user=www-data # 以指定用户身份运行
autostart=true # Supervisor启动时自动启动进程
autorestart=true # 进程崩溃时自动重启
stdout_logfile=/var/log/myapp.log # 标准输出日志
stderr_logfile=/var/log/myapp.err.log # 标准错误日志
supervisorctl命令操作(无需登录服务器,可直接远程执行):# 查看所有进程状态
sudo supervisorctl status
# 启动指定进程
sudo supervisorctl start myapp
# 停止指定进程
sudo supervisorctl stop myapp
# 重启指定进程
sudo supervisorctl restart myapp
# 重新加载配置(修改配置文件后)
sudo supervisorctl reread && sudo supervisorctl update
/etc/supervisor/supervisord.conf,添加以下内容以开启HTTP监听:[inet_http_server]
port=127.0.0.1:9001 # 监听本地端口(如需远程访问可改为服务器IP,如0.0.0.0:9001)
username=admin # 登录用户名
password=yourpassword # 登录密码
重启Supervisor后,通过浏览器访问http://remote_host:9001即可远程管理进程(需确保防火墙允许对应端口)。http://remote_host:10000(默认端口),输入用户名密码即可登录。glances -s启动服务端,远程客户端使用glances -c remote_host连接。若需通过SSH远程启动长期运行的进程(如Web服务、后台任务),需避免因SSH断开导致进程终止。常用方法:
nohup:忽略挂断信号(SIGHUP),进程在SSH断开后仍继续运行:nohup your_command > output.log 2>&1 &
示例(启动Node.js应用):nohup node /path/to/app.js > app.log 2>&1 &
screen/tmux:创建虚拟终端会话,可随时断开并重新连接:screen -S mysession # 创建名为mysession的会话
your_command # 在会话中运行命令
Ctrl+A, D # 断开会话(进程仍在运行)
screen -r mysession # 重新连接会话
以上方法覆盖了Ubuntu远程管理进程的常见场景,可根据需求选择合适的工具(如简单命令行操作用SSH+top,长期进程守护用Supervisor,企业级监控用Nagios/Zabbix)。