Skip to content

Instantly share code, notes, and snippets.

@jackrusher
Created June 19, 2019 13:58
Show Gist options
  • Star 15 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save jackrusher/36c80a2fd6a8fe8ddf46bc7e408ae1f9 to your computer and use it in GitHub Desktop.
Save jackrusher/36c80a2fd6a8fe8ddf46bc7e408ae1f9 to your computer and use it in GitHub Desktop.
Tramping into GCloud instances from within emacs
;; make sure you've set your default project with:
;; gcloud config set project <project-name>
(require 'tramp)
(add-to-list 'tramp-methods
'("gcssh"
(tramp-login-program "gcloud compute ssh")
(tramp-login-args (("%h")))
(tramp-async-args (("-q")))
(tramp-remote-shell "/bin/sh")
(tramp-remote-shell-args ("-c"))
(tramp-gw-args (("-o" "GlobalKnownHostsFile=/dev/null")
("-o" "UserKnownHostsFile=/dev/null")
("-o" "StrictHostKeyChecking=no")))
(tramp-default-port 22)))
;; ... after which it's as easy as:
;;
;; C-x C-f /gcssh:compute-instance:/path/to/filename.clj
@zkytony
Copy link

zkytony commented Mar 21, 2024

This works right off the bat. 👏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment