前期条件

  • 容器实例已创建成功,且状态为运行中

  • 本地主机已生成 SSH 密钥对。若未生成,可参考生成 SSH 密钥对相关内容。

操作步骤

  1. 查看并记录本地主机的 SSH 公钥。

    说明
    • Windows 系统 SSH 公钥文件目录为 c:\user\<user_name>\.ssh\id_rsa.pub

    • Linux 或 Mac OS 系统 SSH 公钥文件可直接执行 cat ~/.ssh/id_rsa.pub 查看。

  2. 通过 jupyter 方式登录至相应容器实例。

  3. 在打开的 Terminal 终端中,执行如下命令,安装 openssh-server 服务。

    apt-get update && apt install openssh-server
  4. 检查安装是否成功。

    1. 检查 ssh 进程,无返回结果即可。

      ps -e | grep ssh
    2. 检查安装包。

      dpkg -l | grep ssh

      返回结果如下,即说明已安装成功。

      develop training ssh login 1
  5. 执行如下命令,启动 openssh-server 服务。

    service ssh start
  6. 执行如下命令,检查 openssh-server 服务状态,返回结果为 RUNNING 即可。

    service ssh  status
  7. 执行如下命令,检查 SSH 路径是否存在。

    mkdir ~/.ssh
    说明

    返回结果提示相应目录已经存在。

  8. 执行如下命令,将第一步查看并记录的本地主机 SSH 公钥写入当前实例的 authorized_keys 中。

    echo "ssh-rsa AAAA***************UOeArE= xxxxxx@mac1.local" >> ~/.ssh/authorized_keys
    说明

    引号中的内容为用户本地主机 id_rsa.pub 的内容,需根据实际情况进行修改。

    检查公钥内容是否成功写入。

    cat ~/.ssh/authorized_keys
  9. 返回容器实例列表页面,点击相应容器实例所在行右侧的更多操作,选择复制 SSH 命令

    develop training k8s more operation
  10. 用户打开本地主机的终端,输入上一步复制的 SSH 命令,即可访问容器实例。

    develop training ssh login 2
  11. 使用 SSH 执行训练任务时,为避免 SSH 连接中断,可安装 screen 和 tmux 守护进程。

    apt-get update && apt-get install -y screen && apt install tmux

附录

生成 SSH 密钥对

  1. 登录本地主机终端,查看是否有 id_rsa.pub 文件。

    说明
    • Windows 系统 SSH 公钥文件目录为 c:\user{user_name}\.ssh\id_rsa.pub

    • Linux 系统 SSH 公钥文件目录为 ~/.ssh/id_rsa.pub

  2. 若无上述文件,则在终端中,执行如下命令生成。

    ssh-keygen
    说明

    回显交互中的所有参数均可为空,即一直回⻋确认即可。

  3. 进入 SSH 公钥所在目录,查看并复制公钥内容。

    cat id_rsa.pub