Tag Archives: ssh

http代理环境下使用github

公司上网一般是通过http代理,只能访问外网的443和80端口,github现在本身就支持https的方式提交代码,这里讲的是如何通过默认方式即git协议提交代码,我们知道git是基于ssh的,端口是22,github这个服务器的ssh端口我们又不能像自己的服务器一样改成443,怎么办呢。在基于http做好的ssh代理之上,再连接github,已经开启的ssh代理是不受端口限制的。

首先参考 用ssh突破公司http代理,把ssh代理建立起来。
然后按照github的官网Generating SSH Keys,生成密钥,并相应的配置github的帐户。
配置好后在 .ssh/conifg 里添加配置如下:
[code lang="bash"]
Host github.com
HostName github.com
User git
PreferredAuthentications publickey
IdentityFile ~/.ssh/github.rsa
ProxyCommand nc -x 127.0.0.1:7070 %h %p
[/code]

然后就可以正常使用git clone/pull/push这些命令啦!

这里有个介绍如何直接使用http代理的,没试过,估计是可以的
如何让 Git 使用 HTTP 代理服务器

irssi在http代理条件下登录irc聊天室

公司上网一般是通过http代理,然后只能访问外网的443和80端口,而irc服务器的端口是6667,如irc.freenode.net。那么我们该怎么做呢,可以用ssh的本地端口(Local Forwarding)转发来实现。关于ssh的各种端口转发,SSH Cheat Sheet有详细的介绍。
前提是要能连上ssh服务,如何在http代理环境下连ssh,参考 用ssh突破公司http代理
Continue reading

用ssh突破公司http代理

公司出于安全考虑一般都通过防火墙将内网和外网隔离开来,然后为了控制监控员工的上网行为,架设专门与外网交互的代理,所有的电脑要想上网必须通过这个代理。代理的形式一般是HTTP和HTTPS的,这样做不仅可以限制员工上哪些网站,还能看上网在干啥,http是完全透明的,没有隐私。
作为一个技术人员,我们是不能容忍上网被限制和监控的,怎么办,代理!可以代理的前提是,你要能与外界互通,而现在只能通过公司的http代理与外界互通(当然,你可以突破公司的这种代理限制,另寻与网络互联的方法,不过这种从风险和技术角度来说都有点太过了),所以代理必须能基于http才行。常用的代理是ssh的socks,有没有方法可以在http上打通一层socks通道呢,有,Corkscrew就是专门来干这事的,官方主页的介绍 “Corkscrew is a tool for tunneling SSH through HTTP proxies”,这正事我们想要的。
Continue reading

通过key登录ssh

这里介绍下如何通过”公私钥”认证的方式来进行ssh登录. “公私钥”认证方式简单的解释:首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)
然后把公钥放到服务器上(~/.ssh/authorized_keys), 自己保留好私钥.在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了

在本地产生私钥和公钥
$ ssh-keygen -t rsa
也可以加参数明确指定私钥的名字
[code lang="bash"]
$ ssh-keygen -t rsa -f ~/.ssh/id_rsa.work
[/code]
Continue reading