Is it possible to connect vscode (on a local machine) with Google Colab (the free service) runtime?

前端 未结 5 740
情歌与酒
情歌与酒 2021-01-30 05:30

I know on GCP, we can set up a vscode server and connect to that. But what I\'m after here, is to know whether it is possible to connect to the runtime instance on Google Colab

5条回答
  •  庸人自扰
    2021-01-30 06:15

    Yes, it is very possible. Just managed it today.

    What you need to do is create an ssh connection with the google collab. Write this on a google collab jupyter Notebook:

    import random, string
    password = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(20))
    
    #Download ngrok
    ! wget -q -c -nc https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
    ! unzip -qq -n ngrok-stable-linux-amd64.zip
    #Setup sshd
    ! apt-get install -qq -o=Dpkg::Use-Pty=0 openssh-server pwgen > /dev/null
    #Set root password
    ! echo root:$password | chpasswd
    ! mkdir -p /var/run/sshd
    ! echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    ! echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
    ! echo "LD_LIBRARY_PATH=/usr/lib64-nvidia" >> /root/.bashrc
    ! echo "export LD_LIBRARY_PATH" >> /root/.bashrc
    
    #Run sshd
    get_ipython().system_raw('/usr/sbin/sshd -D &')
    
    #Ask token
    print("Copy authtoken from https://dashboard.ngrok.com/auth")
    import getpass
    authtoken = getpass.getpass()
    
    #Create tunnel
    get_ipython().system_raw('./ngrok authtoken $authtoken && ./ngrok tcp 22 &')
    #Print root password
    print("Root password: {}".format(password))
    #Get public address
    ! curl -s http://localhost:4040/api/tunnels | python3 -c \
        "import sys, json; print(json.load(sys.stdin)['tunnels'][0]['public_url'])"
    

    Check your ngrok status to get your portnum(via the website)

    After that you can connect to collab via ssh:

    This is the terminal command:

    $ ssh @0.tcp.ngrok.io -p 
    

    (it will ask you for the password generated by the above snipet) You should be able to connect now.

    But if you want to use vscode, repeat the connection with ssh via the Remote SSH extension

    sources:

    remote ssh: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh connection: Connect to google collab with ssh from console from PC

提交回复
热议问题