前言
本人是2022年8月买的极空间新Z4,开始仅用于存储和影视,今年因为转码学习需要一台Linux服务器,所以开始研究如何在极空间上用Docker安装Centos,并用ssh远程登陆。
作者在网上看了很多教程,但都不满意。由于极空间并未开放docker的命令行权限,所以使用 “docker run” 指令在极空间上是行不通的,只能使用较为麻烦的GUI配置界面。
这给我们安装docker容器带来很多的麻烦。作者也是参考了几篇网上的博客和极空间论坛上的文章之后才逐渐成功的。
——这也是作者想写这篇博客的目的,让后来人少走一点弯路。
话不多说,开始吧。
安装Centos系统
获取Centos系统镜像
对Centos系统没有太高要求,就只需要从仓库下载Centos: latest系统就好了。甚至不需要下载,极空间的docker已经将其作为常用镜像下载好了。
下载完成之后,双击开始设置就可以了。
基于GUI的参数配置
极空间的参数设置窗口分8个tag。我们这里主要设置“文件夹路径”、“端口”、“命令”这三个tag,其余页面保持默认就可以了。
文件夹路径
这个tag的主要作用是为了将极空间的真实空间路径和 容器的虚拟空间 进行绑定。按照自己的需求进行填写就可以。如果不会,可以参考下图。
端口
这个tag主要是将极空间的真实网址端口 与 容器的端口 进行绑定。具体需要绑定的端口号没有设置,可以自定义,这里仅提一个——对于我们来说,Linux系统最重要的就是用于ssh的端口22,因此我们需要将容器端口22和极空间的某个端口进行绑定,具体端口号没有限制。
命令
按照下图填写就好
然后就可以点击右下角应用,启动了。
安装Linux常备组件
首先从极空间Docker官方SSH进入系统,进行设置。进入之后是默认root账户。
安装镜像源和系统下载工具
sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
yum install -y wget
系统更新
yum update -y
安装常用工具
yum install -y openssh-server vim lrzsz wget gcc-c++ pcre pcre-devel zlib zlib-devel ruby openssl openssl-devel patch bash-completion zlib.i686 libstdc++.i686 lsof unzip zip
安装网络工具
yum install -y openssh*
yum install -y net-tools
yum install -y initscripts
安装密码工具
yum install -y password
修改密码
passwd root
开启SSH工具
修改ssh设置
首先对系统的ssh设置进行修改(ssh工具就是上文中安装的openssh)。
vim /etc/ssh/sshd_config
- 去除#符号,打开端口22的监听;
- 允许root账号登陆
- 允许密码登陆
使能ssh
在正常的使能方法里,直接使用Linux的systemctl工具就可以使能。但是,该工具是需要docker系统的privilege权限的,而且需要在开启docker的时候就赋予权限。而极空间既没有开放命令行操作,也没有开放privilege权限,所以我们也就无法使用命令行在docker开启的时候赋予privilege权限了。
因此,我们必须使用其他的方法进行使能。
请按照下面方法进行配置:
mkdir -p /var/run/sshd
ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
/usr/sbin/sshd -D &
然后就可以开启ssh工具了。
如果需要确认是否已经开启,可以输入下述指令:
netstat -antup | grep sshd
应该会有以下输出
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 302/sshd
tcp6 0 0 :::22 :::* LISTEN 302/sshd
使用Shell工具连接
可以使用Mobaxterm / Xshell等工具连接,三个重要的参数
- IP地址:就是极空间容器所在的IP地址(可能是局域网的IP);
- 端口:就是上文设置的对应容器22的极空间的端口号,上文中的例子是8888;
- 账户:目前是root;
然后可以连接上了。
后言
需要注意的是,对于极空间设备,目前也只是在局域网里面能使用ssh连接,如果从公网连接,需要另外找办法。
另外,如果root账户可以登陆,新建账户不能登陆,参考下面:
解决登录centos服务器,报错"Unprivileged users are not permitted to log in yet"
参考文章
在docker安装的centos容器内设置远程链接
Centos下安装SSH、FTP服务
如何在Docker里面安装Centos的教程~
版权归原作者 喵喵大熊 所有, 如有侵权,请联系我们删除。