GithubHelp home page GithubHelp logo

optionalg / gcloud-compute-ssh Goto Github PK

View Code? Open in Web Editor NEW

This project forked from googlecloudplatform/gcloud-compute-ssh

0.0 2.0 0.0 4.18 MB

Patches to PuTTY for 'gcloud compute ssh'

License: Other

Shell 1.65% Makefile 3.27% C 88.08% Perl 6 0.07% M4 0.14% Python 1.11% Perl 2.69% Prolog 0.23% Objective-C 2.61% Inno Setup 0.16%

gcloud-compute-ssh's Introduction

gcloud-compute-ssh

Patches to PuTTY for gcloud compute ssh on Windows.

overview

Patches PuTTY for Windows source code (2014-05-21 snapshot) so that after renaming

  • copy pscp.exe scp.exe
  • copy plink.exe ssh.exe
  • copy pkeygen.exe ssh-keygen.exe

scp, ssh and ssh-keygen, from the command line, behave more like the OpenSSH counterparts. Some behaviors are not covered -- mainly just enough to support internal gcloud usage patterns.

details

Changes fall into a few categories:

  • Change cmdgen.c to generate pkeygen.exe which acts like ssh-keygen from the command line. Most of the changes are in this file. Major changes:
    • use Windows libraries to generate cryptographic random data
    • output refactored to a loop that can generate more than one file
    • id, id.pub and id.ppk all generated by default
  • Change all identity file read acceses to first check for a .ppk variant, e.g., -i id will first check for id.ppk. This preserves the ssh and scp -i usage pattern.
  • Change the default TERM environment variable value passed to the server by plink to check the local TERM setting (instead of "xterm"). If TERM is not set then "dumb" is used. This gives the proper hint to remote .profiles to refrain from colorizing prompts and ls(1) output.
  • Eliminate the low hanging fruit of the MSVC 32 and 64 bit warnings. Most of these involve mixed combinations of [unsigned] int, [unsigned] long, size_t, and ssize_t. Some only show up in 64 bit compilers. Other culprits are strcpy(), strcat(), and sprintf() into fixed size buffers - they are handled by a homebrew szprintf() that supports a clean sized buffer paradigm. Much more work is needed in this area. A lot of the (int) and (size_t) casts should be replaced by proper variable and function typing, but that would require a meticulous code walkthrough.

patch authors

Glenn S. Fowler, Google, 2014.

For questions and feedback, use "gcloud" tag on StackOverflow, check out the Google Cloud SDK's groups page or send an e-mail directly to [email protected].

Found a bug? File it in Cloud SDK issue tracker.

gcloud-compute-ssh's People

Contributors

cococlyde avatar manfredzab avatar rdayal avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.