准备工作
-
网络连通性
- 确保两台电脑在同一局域网(或通过公网IP互访),使用
ping <目标IP>
测试连通性。 - 防火墙配置:开放所需端口(如SSH的22端口):
sudo ufw allow 22 # Ubuntu/Debian sudo firewall-cmd --permanent --add-port=22/tcp # CentOS/RHEL
- 确保两台电脑在同一局域网(或通过公网IP互访),使用
-
账户与权限
- 在目标Linux电脑创建专用账户(避免使用root):
sudo useradd -m compute_user sudo passwd compute_user
- 在目标Linux电脑创建专用账户(避免使用root):
连接方法详解
方法1:SSH(命令行计算)
适用场景:远程执行脚本、命令行任务(如Python计算、编译任务)。
步骤:
- 安装SSH服务端(目标电脑):
sudo apt install openssh-server # Debian/Ubuntu sudo yum install openssh-server # CentOS/RHEL
- 从本地电脑连接:
ssh compute_user@目标IP
- 执行计算任务:
- 直接运行命令:
ssh compute_user@目标IP "python3 /path/to/script.py"
- 传输文件(需计算输入/输出时):
scp local_file.txt compute_user@目标IP:/remote/dir # 上传 scp compute_user@目标IP:/remote/result.txt ./ # 下载
- 直接运行命令:
方法2:VNC(图形界面计算)
适用场景:需要GUI的操作(如MATLAB、科学可视化)。
步骤:
- 目标电脑安装VNC服务:
sudo apt install tigervnc-standalone-server # Ubuntu sudo yum install tigervnc-server # CentOS
- 配置VNC密码:
vncpasswd
- 启动VNC服务(示例端口5901):
vncserver :1 -geometry 1920x1080 -depth 24
- 本地连接:
- 安装VNC客户端(如TigerVNC、RealVNC)。
- 输入
目标IP:1
并输入密码。
方法3:分布式计算框架(MPI/Spark)
适用场景:多节点并行计算(如大规模数据处理)。
示例:MPI(以OpenMPI为例)
- 所有电脑安装OpenMPI:
sudo apt install openmpi-bin # Ubuntu sudo yum install openmpi # CentOS
- 配置免密SSH互信(关键步骤):
ssh-keygen -t rsa ssh-copy-id compute_user@目标IP # 本地执行,将公钥复制到目标机
- 创建主机列表文件(如
hostfile
):目标IP slots=4 # 指定目标机可用计算核心数 localhost slots=4
- 运行MPI任务:
mpirun -hostfile hostfile -np 8 ./your_mpi_program
安全注意事项
- 避免使用root账户:通过普通用户执行任务,用
sudo
授权必要操作。 - 密钥认证替代密码(SSH):
ssh-keygen -t ed25519 ssh-copy-id compute_user@目标IP
- 限制IP访问(目标电脑):
sudo vim /etc/ssh/sshd_config # 添加:AllowUsers compute_user@你的本地IP sudo systemctl restart sshd
常见问题解决
- 连接超时:检查目标电脑防火墙、路由器端口转发(公网场景)。
- 权限拒绝:确保目标账户有执行脚本的权限(
chmod +x script.sh
)。 - VNC黑屏:重启VNC服务:
vncserver -kill :1 && vncserver :1
。
通过SSH、VNC或分布式框架连接Linux电脑,可灵活应对从简单脚本到集群计算的需求。关键点:确保网络畅通、权限合理、安全措施到位,初次配置后,后续操作可高度自动化(如SSH密钥+脚本),大幅提升效率。
引用说明:本文参考Linux官方文档(OpenSSH、OpenMPI)及Ubuntu/CentOS安全指南,遵循最佳实践以保证可靠性,技术细节已通过Ubuntu 22.04/CentOS 7实测验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8707.html