更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 安装和使用ShellHub为Linux系统配置集中式SSH

安装和使用ShellHub为Linux系统配置集中式SSH

更新时间:2023-01-10 10:30:22浏览次数:71+次

本文介绍在Linux系统上安装ShellHub的方法,并使用ShellHub为Linux系统配置集中式SSH,为了发挥最佳的作用,要确保系统上安装了Docker Engine和Docker Compose。另外,端口22和80可用并在防火墙上打开。

安装Docker相关环境的参考

如何在Ubuntu 22.04系统上安装Docker CE:https://www.hmxthome.com/linux/4941.html

在Ubuntu 22.04/Debian 11上安装Docker Compose:https://www.hmxthome.com/linux/4942.html

安装后,确保服务已启动:

sudo systemctl start docker && sudo systemctl enable docker

此外,将系统用户添加到docker组:

sudo usermod -aG docker $USER

newgrp docker

另外,安装docker Compose后,还要确保安装了所需的软件包:

##在CentOS/RHEL/Rocky Linux/Alma Linux上

sudo yum install make -y

##在Debian/Ubuntu上

sudo apt install make -y

允许端口80和22通过防火墙:

##用于Firewalld

sudo firewall-cmd --add-port={22/tcp,80/tcp} --permanent

sudo firewall-cmd --reload

##对于UFW

sudo ufw allow 22

sudo ufw allow 80

如果端口有其他重要的服务正在运行,您可以通过对.env文件进行更改来选择使用其他端口。

在Linux上下载ShellHub

我们将首先从GitHub克隆最新的稳定版本:

sudo apt install build-essential

git clone https://github.com/shellhub-io/shellhub.git

现在导航到目录:

cd shellhub

echo "SHELLHUB_ENV=development" >> .env.override

进入目录后,使用以下命令创建所需的键:

$ make keygen

Generating RSA private key, 2048 bit long modulus (2 primes)

................+++++

................+++++

e is 65537 (0x010001)

writing RSA key

Generating RSA private key, 2048 bit long modulus (2 primes)

................+++++

................+++++

e is 65537 (0x010001)

在Linux上安装ShellHub

对于这个部署,有几个docker compose文件用于各种环境。然而,我们建议避免直接使用docker compose,除非您确定自己正在做什么。

使用默认值启动部署的最简单方法是执行以下命令:

make start

样本输出:

\

完成后,验证容器是否正在运行:

$ docker ps

\

您还可以使部署适合您的环境。

访问ShellHub Web UI

根据所做的部署,您可以使用IP地址或域名通过HTTP或HTTPS访问ShellHub Web。

同时,需要创建管理员用户和密码才能登录。这可以通过执行以下命令来完成:

$ ./bin/add-user <username> <password> <email>

记住正确替换值。例如:

$ ./bin/add-user admin StrongPassword admin@computingforgeeks.com

User added!

name: admin

username: admin

email: admin@computingforgeeks.com

可以使用以下命令删除用户:

$ ./bin/del-user <username>

您还可以编辑/重置密码:

$ ./bin/reset-user-password <username> <password>

现在使用创建的用户凭据登录到Web。认证后,将可以进入到控制面板中。

现在添加一个命名空间:

\

您也可以从命令行执行此操作:

$ ./bin/add-namespace <namespace> <owner>

替换值,例如:

$ ./bin/add-namespace test admin

Namespace added: test

Owner: 63736b67de1792158ce86436

Tenant ID: d2961764-ea74-4aff-8683-cefed4f45b83

要删除命名空间,请使用以下命令:

./bin/del-namespace <namespace>

要将用户添加到命名空间,请执行以下操作:

./bin/add-user-namespace <username> <namespace>

要从命名空间中删除用户,请执行以下操作:

./bin/del-user-namespace <username> <namespace>

使用ShellHub管理设备

安装完成后,您可以添加并连接到基础结构中的各种设备。要添加设备,请选择名称空间并导航到设备选项卡。

然后在安装并运行docker的远程主机上,执行提供的命令:

\

在设备上安装ShellHub代理后,您需要通过单击通知或在设备->挂起(Devices -> Pending)下接受它。

接下来就连接到设备了。

将设备添加到shellHub后,可以使用两种方法连接到它们。第一个也是最简单的方法是通过网络。导航到“设备”选项卡并选择要连接的设备:

\

连接后,您可以像在任何其他SSH会话中一样执行命令。

另一种方法是使用SSH客户端。支持的SSH客户端为2.0版及更高版本。这可以使用以下命令完成:

ssh <USER>@<SSHID> -<SSH_PORT>

SSHID是从web获得的。为了使这种方式更好,您可以使用公钥(无需密码)连接到添加的设备。首先,在主机上创建公钥:

$ ssh-keygen -q -N ""

Enter file in which to save the key (/root/.ssh/id_rsa):

查看生成的密钥:

cat ~/.ssh/id_rsa.pub

现在在ShellHub网站上,通过导航到公钥->添加公钥(Public Keys -> Add Public Key),创建一个可用于连接到特定/所有计算机的密钥:

\

提供公钥并创建密钥。

现在,使用创建的密钥,您可以使用以下命令连接到主机系统中的任何设备:

ssh <USER>@<SSHID> -<SSH_PORT>

在本例中,我将提供端口,因为ShellHub在端口2222上运行:

\

管理ShellHub实例

ShellHub容器在系统启动时自动启动。只有在端口22和80上启用了其他服务的情况下,它们才会失败。

要将容器升级到较新版本,请使用以下步骤。

首先,导航到ShellHub项目目录:

cd shellhub

停止实例:

make stop

Fetech的最新变化:

git remote update origin

签出最新版本:

git checkout v0.10.3

现在启动实例:

make start

至此,使用ShellHub为Linux系统配置集中式SSH的内容就讲完了。