如何使用Notebook SSH 功能
什么是SSH功能
如果您想要使用本地的开发环境,把任务提交到线上的资源运行。可以使用SSH连接的功能。
如何使用SSH功能
使用流程:
创建BLB、EIP
如果您需要使用Notebook SSH功能,您需要创建EIP。EIP为您提供公网带宽服务。创建方法见:https://cloud.baidu.com/doc/EIP/s/rjx1m4njs
另外您需要创建应用型BLB实例,并保证BLB所在VPC和用户资源池在同一个VPC下。 创建方法见:https://cloud.baidu.com/doc/BLB/s/Njwvxnt8e
并需要在BLB创建时,将BLB和EIP绑定。
此外,出于安全考虑,建议您创建企业安全组,并和BLB进行绑定。
资源池配置
创建资源池-配置BLB
SSH功能需要在用户资源池中使用。您可以在资源池管理中创建资源池。“选择可用模块”时,如果选择“Notebook”可以发现,需要添加企业版BLB才可以使用SSH功能。
修改资源池-配置BLB
如果创建资源池时,未配置BLB,并需要使用SSH功能,您可以修改资源池可用模块,并选择绑定了EIP的应用型BLB。
如果不再使用SSH,可选择“暂不选择”,即可解除绑定/卸载BLB。需要注意的是,如果解绑前存在Notebook任务使用SSH功能,取消BLB可能会导致任务异常。
创建Notebook
如果需要使用SSH功能,需要在创建Notebook任务时,选择用户资源池后,并开启SSH开关。
如果资源池中未配置BLB信息,不能使用SSH相关功能。需要现在资源池管理中配置SSH连接的BLB实例。
如果BLB绑定异常,需要在资源池中重新绑定BLB实例(如果您卸载该BLB相关SVC会强制解绑EIP,因此,需要手动从BLB控制台关联EIP,关联后,重新绑定BLB实例)。
创建后,可以在Notebook详情中查看SSH命令。
进入Notebook
点击Notebook列表页的“打开”按钮,可点击进入到Notebook中。
进入到Notebook后,可点击进入终端。点击输入如下命令:
mkdir ~/.ssh
ssh-keygen -t dsa -f ~/.ssh/ssh_host_dsa_key -N ''
ssh-keygen -t rsa -f ~/.ssh/ssh_host_rsa_key -N ''
接下来需要在目录创建sshd_config文件,内容为:
Port 8022 #设置需要监听的端口
ListenAddress 0.0.0.0 #设置在哪个地址上监听,通常多网卡时须设置
HostKey /home/work/.ssh/ssh_host_dsa_key #设置 HostKey
HostKey /home/work/.ssh/ssh_host_rsa_key
UsePAM yes #是否需要使用 Linux-PAM
KexAlgorithms=+diffie-hellman-group1-sha1 # 如需兼容低版本
即可创建sshd_config文件,可在左侧文件插件中看到。
终端输入如下命令启动sshd服务:
/usr/sbin/sshd -f ./sshd_config
如果需要重新配置,需要kill之前的进程,重新启动。
本地环境密钥生成
本地生成密钥,放入Notebook中。
本地环境生成ssh pubkey:
mac/linux:
ssh-keygen -t rsa
# 公钥文件在 ~/.ssh/id_rsa.pub
win:
ssh-keygen -t rsa
# 公钥文件在 C:\Users\username\.ssh\id_rsa.pub
将~/.ssh/id_rsa.pub中的公钥放入Notebook用户目录中.ssh/authorized_keys的文本文件中。
如果多用户访问同一个Notebook,需要将密钥按行放入即可。
VSCode连接使用
下载安装VSCode,建议使用vscode 1.85.1及以上。
下载地址: https://code.visualstudio.com/updates/v1_85
安装Remote-SSH插件,并配置Notebook详情中复制的SSH命令。
“扩展”中搜索Remote-SSH插件,并安装。
安装后,配置Notebook中复制的SSH连接命令即可连接。
Remote-SSH插件使用参考:https://code.visualstudio.com/docs/remote/ssh
终端使用
终端使用 ssh work@XXX.XXX.XXX.XXX -p XXXXX
或者指定密钥路径使用
ssh -i ssh_host_dsa_key work@XXX.XXX.XXX.XXX -p XXXXX