前言

本文系实验室搭建服务器为组员进行GPU运算而形成。详细介绍了服务器软件配置与远程连接的网络设置相关操作的指南,为所有想要搭建服务器的个人和团队提供一份借鉴。不足与谬误在所难免,欢迎读者批评指正。

一、服务器端的准备工作

参考文献:
SSH简介及两种远程登录的方法

  • 为了方便使用,需要将服务器设为固定ip,也可以在路由器上为服务器分配静态ip,让服务器自动获取。
  • Linux查询服务器ip指令:ifconfig
  • Windows查询ip指令:ipconfig
  1. 确认电脑上是否安装了客户端SSH和服务器SSH,一般Ubuntu会自带客户端。
dpkg -l | grep ssh

在这里插入图片描述

  1. 安装服务器SSH
sudo apt-get install openssh-server 
  1. 确认SSH是否已启动
ps -e | grep ssh

在这里插入图片描述
出现sshd说明ssh-server已启动。ssh-server启动、停止和重启指令如下:

sudo /etc/init.d/ssh start  #server启动ssh服务
sudo /etc/init.d/ssh stop  #server停止ssh服务 
sudo /etc/init.d/ssh restart  #server重启ssh服务

二、Xshell命令行远程连接

  1. 在自己的客户端下载、安装、启动Xshell。家庭/学校免费版即可满足绝大多数用户需求。
    在这里插入图片描述

在这里插入图片描述
2. 新建会话,在“连接”选项卡中设置连接的名称、协议(SSH)、主机ip、端口号(一般为22)。
在这里插入图片描述
3. 在“用户身份验证”选项卡中填写登录服务器使用的用户名和密码,也可以保存SSH公钥后直接通过SSH登录,无需输入账号密码。
在这里插入图片描述

  1. 首次连接时获得公钥与私钥,选择“接受并保存”。
    在这里插入图片描述

  2. 点击“重新连接”,连接成功后画面如下。

  3. 想要退出,点击“断开”即可,或者在shell中输入指令logout

  • 使用Xshell远程连接服务器允许多用户同时登录,互不影响。

三、Xrdp远程桌面连接(Ubuntu自带桌面)

参考文献:
Ubuntu 18.04 上使用xrdp远程桌面连接
Ubuntu下Xrdp实现远程桌面服务

  1. 在服务器上安装 tightvncserver
sudo apt-get install tightvncserver
  1. 在服务器上安装 xrdp(一定要在tightvncserver安装好后再安装xrdp,否则会出现版本问题)
sudo apt-get install xrdp

利用xrdp中的Xorg可以在本地与远程桌面间进行复制粘贴,比较便利。

  • 注1:xrdp默认使用root用户登录,其他用户登录需要修改 ~/.ICEauthority 文件的权限后重启服务器。代码如下:
chmod 666 .ICEauthority

效果如图,
文件权限修改效果
3. 在客户端Windows系统启动rdp。点击“开始”-键入“rdp”或“远程桌面连接”,如图,
远程桌面连接

  1. 键入服务器ip地址,点击“连接”,进入xrdp
    在这里插入图片描述
  • 客户端首次登录时会提示“服务器发来公钥”,一般选择“永久保存”以建立SSH安全连接。
    在这里插入图片描述
    如果遇到上述对话框可以选择忽略错误直接连接,也可以给证书授权(接收服务器SSH公钥)如下图操作,点击“查看证书”-“安装证书”-“下一页”
    在这里插入图片描述
    在这里插入图片描述
    选择“将所有的证书都放入下列存储”-“浏览”
    在这里插入图片描述
    选择“受信任的根证书颁发机构”-确定保存-完成
    在这里插入图片描述
  1. 输入个人用户的账号密码,
    登录

  2. 登录成功,可以愉快地玩耍了!
    在这里插入图片描述

  3. 退出登录的时候应该选择右上角点击Log Out而不是直接关闭远程窗口,否则会出现文件系统没有完全断开的问题,导致其他用户登录使用文件系统和terminal时受到影响。

  • 注1:也可选择第三方桌面Xubuntu,方法参见《Ubuntu下Xrdp实现远程桌面服务》
  • 注2:平时使用状态下(服务器现场无人进行操作),要注意服务器不能处于登录状态,否则其他用户会登陆失败。
  • 注3:多用户登录Xrdp时会出现对ubuntu系统以外硬盘的读写打不开的情况,仍待解决,而Xshell登录尚未发现此问题。

常见问题解答

1. 登录成功,但屏幕上一片蓝色,什么都没有。
答:重装Xrdp并修改权限。

  • 进入C-Nergy官网,下载xrdp脚本
  • 解压缩下载文件
  • 修改权限
chmod 777 〜/Downloads/xrdp-installer-1.3.sh
  • 运行脚本
./xrdp-installer-1.3.sh
  • 安装完成重启服务器

参考文献:
Ubuntu 18.04 上使用xrdp远程桌面登录蓝屏解决
Windows10使用Xrdp远程桌面连接Ubuntu主机

2. 登录成功,但出现闪退现象
答:服务器缺少yum,安装yum。

sudo apt install yum

参考文献:
centos7系统崩溃怎么处理

四、创建非root用户

  1. 非root账户即大家平时使用的账户,一般情况是向团队内的服务器管理员申请新建账户,由管理员完成账户创建与权限设定等操作。账户创建具体操作参考文献介绍的已经很详细,不再赘述。
    参考文献:
    ubuntu下添加新用户、解决远程登录问题
  2. 用户权限设置
    参考文献:
    Linux 服务器上建立用户并分配权限
    Linux权限详解(chmod、600、644、666、700、711、755、777、4755、6755、7755)

常见问题解答

1. Xshell远程连接时报错:/usr/bin/xauth: file /home/user/.Xauthority does not exist
答:添加用户时仅执行了useradd user,没有授权对应的/home目录。使用如下指令授权,

chown 用户名:用户名 -R /home/用户名

详见挑战者V-博客园
2. 非root用户远程登录时terminal中操作出现各种问题,如无法显示用户名和主机名、无法使用方向键等,体验极差。
在这里插入图片描述

答:用户terminal启动路径出错,修改方法详见参考文献“3 解决远程登录问题”。
参考文献:
ubuntu下添加新用户、解决远程登录问题

五、使用XFTP进行客户端与服务器间文件传输

  1. 下载、安装、启动Xftp,家庭/学校免费版即可满足绝大多数人的需求。
    在这里插入图片描述

  2. 新建连接,填写名称、主机IP、端口号、登录验证方法后确定。
    在这里插入图片描述

  3. 点击“连接”。
    在这里插入图片描述

  4. 首次连接需要输入用户名和密码。
    在这里插入图片描述
    在这里插入图片描述

  5. 设置完成后即可使用工具栏中的“连接”“断开”“向左传输”“向右传输”“同步文件夹”等一系列按钮进行操作。enjoy!
    在这里插入图片描述

六、局域网外使用服务器的方法

我们有时会出现在家或出门的情况下进行远程操作的需求,那么如何在局域网外操作网内的服务器呢?

本文给出的解决方案是:在局域网内准备一台中继计算机,使用向日葵、Teamviewer等软件远程软件作为外网与内网的连接媒介。

其他解决方案还有为服务器设置公网IP,采用远程SSH直连等,与购买云服务器的操作方式相似。此类方案尚待检验,本文不做赘述。

相对于后者,本文方案的优点在于操作方便,省去了很多网络相关的设置,也不用向运营商申请公网IP,对于高校、研究机构等对公网IP操作较复杂的用户很方便,上手较容易,亲测可用;缺点在于需要在局域网内常备一台自己的中介计算机,且对网络安全较敏感的用户也要慎用,希望读者根据自身情况做出恰当选择。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐