Skip to content

Instantly share code, notes, and snippets.

@atlonxp
Forked from yashkumaratri/Google Colab SSH
Created January 26, 2021 17:17
Show Gist options
  • Select an option

  • Save atlonxp/1294d6b2c5ecb0d1a03552a045984408 to your computer and use it in GitHub Desktop.

Select an option

Save atlonxp/1294d6b2c5ecb0d1a03552a045984408 to your computer and use it in GitHub Desktop.

Revisions

  1. @yashkumaratri yashkumaratri created this gist Dec 31, 2018.
    46 changes: 46 additions & 0 deletions Google Colab SSH
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,46 @@
    #CODE

    #Generate root password
    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'])"




    #Copy authentication token after authenticating your ID using google or github and
    ###./ngrok authtoken 616pgtVvEMKxN6C********************************************

    Password will be generated

    How to SSH ?
    ssh [email protected] -p 10965 <-- port number dictated in colab output
    passord : In colab output