GCP终于发布了管理型木星笔记本电脑。我希望能够通过连接到笔记本上与笔记本进行本地交互。即。我使用PyCharm通过传递其URL &令牌param连接到外部配置的jupyter服务器。
问题也适用于AWS Sagemaker笔记本电脑。
发布于 2019-04-12 08:29:21
发布于 2020-05-07 17:10:33
AWS本机不支持SageMaker笔记本实例中的SSH-ing,但是没有什么能真正阻止您自己设置SSH。
唯一的问题是这些实例不能获得公共IP地址,这意味着您必须创建一个反向代理(例如ngrok ),或者通过堡垒框连接到它。
使ngrok解决方案工作的步骤:
curl https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip > ngrok.zip下载ngrokunzip ngrok.zip./ngrok authenticate./ngrok tcp 22 > ngrok.log &开始(&将其放在后台)~/.ssh/authorized_keys文件(在SageMaker上)并粘贴您的公钥(可能是计算机上的~/.ssh/id_rsa.pub )ssh -p <port_from_ngrok_logfile> ec2-user@0.tcp.ngrok.com (或他们分配给您的任何主机,它将位于ngrok.log中)如果您想让它自动化,我建议您使用生命周期配置脚本。
另一个很好的技巧是将下载、解压缩、身份验证和启动ngrok包装成/usr/bin中的一些二进制文件,这样您就可以在SageMaker控制台上调用它了。
要完全解释如何使用生命周期脚本实现自动化有点太长了,但是我已经编写了一个关于https://biasandvariance.com/sagemaker-ssh-setup/的详细指南。
发布于 2022-03-10 15:55:19
有一种方法可以将SSH放入SAGMEK笔记本实例中,而不必使用第三方反向代理(如ngrok ),也不需要设置EC2堡垒,也不需要使用,以下是您可以这样做的方法。
先决条件
怎么做?
INSTANCE_IP=$(/sbin/ifconfig eth2 | grep 'inet addr:' | cut -d: -f2 | awk '{ print $1}')
echo "SSH into the instance using : ssh ec2-user@$INSTANCE_IP" > ~ec2-user/SageMaker/ssh-instructions.txt/home/ec2-user/.ssh/authorized_keys中添加公共SSH密钥,使用jupyterlab的终端手动添加,或者在上面的生命周期脚本中添加当您的用户打开木星界面时,他们将找到ssh-instructions.txt文件,该文件为主机和命令提供了使用:ssh ec2-user@<INSTANCE_IP>。
如果您想要从本地环境中获得SSH,您可能需要连接到您的VPN,在VPC中路由您的通信量。
https://stackoverflow.com/questions/55645119
复制相似问题