Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
A new version of colab-ssh is coming soon, stay tuned.
🎉 Happy to announce that we now have:
- Youtube demo video
- Support for Gitlab repositories
- VSCode integration with which you can open your VSCode right from the notebook.
Connect to Google colab via ssh easily
Colab-ssh is a light-weight library that allows you to connect to Google Colab Notebook using an SSH Tunnel and optionally via VSCode.
You can click on the Google Colab button to clone an already setup notebook:
:warning: Colab-ssh supports Google colaboratory notebooks only, using it on other notebooks may lead to unexpected behavior.
Now you can watch a demo video on how to setup Colab-ssh with cloudflared on Youtube. Click the video below to open it.
# Install colab_ssh on google colab
!pip install colab_ssh --upgrade
from colab_ssh import launch_ssh_cloudflared, init_git_cloudflared
launch_ssh_cloudflared(password="<PUT_YOUR_PASSWORD_HERE>")
# Optional: if you want to clone a Github or Gitlab repository
repository_url="<PUT_YOUR_REPOSITORY_URL_HERE>"
init_git_cloudflared(repository_url)
Make sure you replace
<PUT_YOUR_PASSWORD_HERE>
with a password of your choice and<PUT_YOUR_REPOSITORY_URL_HERE>
with the link to your Github/Gitlab repository (if you use the git integration).
The output of this snippet will look similar to the following screenshot:
:warning: If it's the first time you launch colab-ssh on your machine, it's important to follow the instructions in the "Client machine configuration" section. To show the steps that you need to do, just click "Client machine configuration". Don't worry, you don't have to repeat these steps again for each notebook.
:grey_question: Things doesn't work ? or looking for a way to connect using Ngrok ? Check the colab-ssh ngrok documentation
If you are a Github/Gitlab fan, you probably want to clone a repository (private or public) repeatedly to the Google Colab Notebook.
This is why init_git
is created.
git clone
or git push
). If you clone a private repository without a personal token, you will be asked to put your password (This is only valid for Gitlab, as opposed to Github that recently disabled password authentication).user.email
and user.name
for you, in case you need to commit.sys.path
. This is helpful when your cloned repository is a python project and you want to import some python modules directly (without specifying the name of the root folder) to your Google Colab Notebook. Example: If you cloned a repository called example-repo
. A folder should be created containing your cloned repository. If example-repo
has a python module called my_module
, instead of writing in your notebook import example-repo.my_module
, you can simply do import my_module
.init_git_cloudflared("https://github.com/<OWNER>/<REPO_NAME>.git",
personal_token="<YOUR_GITHUB_PERSONAL_TOKEN>",
branch="<YOUR_BRANCH>",
email="<YOUR_EMAIL>",
username="<YOUR_USERNAME>")
The output of this command will look like this:
This will display a button inside the cell output (or a url in case of a terminal). This is a direct link to open VSCode installed on your machine.
Link doesn't appear or doesn't work?
- Make sure you have VSCode installed locally for the link to work
- Make sure that you run
launch_ssh_cloudflared
beforeinit_git_cloudflared
. The reason for that is becauseinit_git_cloudflared
shows the link based on the tunnel information provided by the functionlaunch_ssh_cloudflared
.
:warning: Please note that your Gitlab personal access token requires the following scopes:
read_api, read_repository, write_repository
.
Instead of setting a password, you can access the SSH tunnel using your own pair of keys.
IMPORTANT: This feature is only available when you clone your git repository by using the function
init_git_cloudflared()
You need to follow these steps:
~/.ssh/id_rsa.pub
) and make sure you keep your private key in a safe place.colab_ssh
and a file within it called authorized_keys
.collab_ssh/authorized_keys
We get your public key from the repository passed into the init_git()
function and then we add it to the authorized_keys
file (found in ~/.ssh
folder).
Check the API reference on this page.
No, you still need to open the Google Colab Notebook interface manually in order to setup this tool. Google Colab doesn't have an API yet to automatically run a notebook for you.
Check out the documentation for how you can Expose a Google Colab environment variable.
If you want to buy me a cup of coffee, feel free to reach me or use the following IBAN (International Bank Account Number):
TN5904018104003696876646
Start by opening an issue so can start working together to enhance the experience of Google Colab users. We would love to hear your ideas!
FAQs
Google colab SSH connector
We found that colab-ssh demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.