SSH 访问容器实例
前期条件
-
容器实例已创建成功,且状态为
运行中
。 -
本地主机已生成 SSH 密钥对。若未生成,可参考生成 SSH 密钥对相关内容。
操作步骤
-
查看并记录本地主机的 SSH 公钥。
说明 -
Windows 系统 SSH 公钥文件目录为
c:\user\<user_name>\.ssh\id_rsa.pub
。 -
Linux 或 Mac OS 系统 SSH 公钥文件可直接执行
cat ~/.ssh/id_rsa.pub
查看。
-
-
通过 jupyter 方式登录至相应容器实例。
-
在打开的 Terminal 终端中,执行如下命令,安装 openssh-server 服务。
apt-get update && apt install openssh-server
-
检查安装是否成功。
-
检查 ssh 进程,无返回结果即可。
ps -e | grep ssh
-
检查安装包。
dpkg -l | grep ssh
返回结果如下,即说明已安装成功。
-
-
执行如下命令,启动 openssh-server 服务。
service ssh start
-
执行如下命令,检查 openssh-server 服务状态,返回结果为
RUNNING
即可。service ssh status
-
执行如下命令,检查 SSH 路径是否存在。
mkdir ~/.ssh
说明 返回结果提示相应目录已经存在。
-
执行如下命令,将第一步查看并记录的本地主机 SSH 公钥写入当前实例的
authorized_keys
中。echo "ssh-rsa AAAA***************UOeArE= xxxxxx@mac1.local" >> ~/.ssh/authorized_keys
说明 引号中的内容为用户本地主机 id_rsa.pub 的内容,需根据实际情况进行修改。
检查公钥内容是否成功写入。
cat ~/.ssh/authorized_keys
-
返回容器实例列表页面,点击相应容器实例所在行右侧的更多操作,选择复制 SSH 命令。
-
用户打开本地主机的终端,输入上一步复制的 SSH 命令,即可访问容器实例。
-
使用 SSH 执行训练任务时,为避免 SSH 连接中断,可安装 screen 和 tmux 守护进程。
apt-get update && apt-get install -y screen && apt install tmux
附录
生成 SSH 密钥对
-
登录本地主机终端,查看是否有
id_rsa.pub
文件。说明 -
Windows 系统 SSH 公钥文件目录为
c:\user{user_name}\.ssh\id_rsa.pub
。 -
Linux 系统 SSH 公钥文件目录为
~/.ssh/id_rsa.pub
。
-
-
若无上述文件,则在终端中,执行如下命令生成。
ssh-keygen
说明 回显交互中的所有参数均可为空,即一直回⻋确认即可。
-
进入 SSH 公钥所在目录,查看并复制公钥内容。
cat id_rsa.pub