修复 Mac OS X 新版 Terminal 在 SSH 时候出现的 LANGUAGE WARNING

自从升级了新版的 Mac OS X 之后,使用 Terminal SSH 到别的机器上总是能看到这样的警告:

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

在执行 perl 脚本的时候还能看到这样的警告:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: (更多…)

开源堡垒机GateOne的安装、配置笔记

因为内部临时需要这么一套系统,所以搜搜查查,搞定了系统部署,使用pam认证的配置。
系统初始化是使用CentOS 6.5 Mini x64版本。

首先exports http_proxy和https_proxy,做好上网准备。

其次查看下安装需求。
http://liftoff.github.io/GateOne/About/index.html#prerequisites

这里有相关的包下载:
https://github.com/liftoff/GateOne/downloads

yum install -y http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y

yum install -y python-devel (更多…)

Secure Network (ssh端口映射)

实战 SSH 端口转发

https://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/

SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

关于使用ssh portforwarding来进行翻墙的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下。

首先要记住一件事情就是:

SSH 端口转发自然需要 SSH 连接,而 SSH 连接是有方向的,从 SSH Client 到 SSH Server 。

而我们所要访问的应用也是有方向的,应用连接的方向也是从应用的 Client 端连接到应用的 Server 端。比如需要我们要访问Internet上的Web站点时,Http应用的方向就是从我们自己这台主机(Client)到远处的Web Server。

如果SSH连接和应用的连接这两个连接的方向一致,那我们就说它是本地转发。

ssh (更多…)

代理上网行为检测逃脱之本地路由引导+SSH隧道

相信很多公司为了限制员工上网,都会选择一些深信服的设备对用户的流量做控制,一般只会给用户普通的权限,比如只允许浏览某些网页啦,打开个优酷都会被拦截啦。本文简单介绍一个在现有只允许打开某些网站的情况的,简历SSH隧道,把SSH隧道再塞进HTTP流里面去。示意图大致如下:

13898000658030

这个模型首先需要用户在公网有一台服务器(vps之流,并可以SSH上去)

思路:

本地去往公网的路由都通过一个小软件导导入到HTTP流中去,例如:Proxifier(这里可以跟路由把不支持代理功能的软件通过路由的方式把数据流导入到HTTP流中去)。这一步完成之后也就是你可以让所有软件都通过HTTP代理出去。

但是问题来了,这个依然是不加密的,改限制的网站依然会被限制。这个时候就用到了外网的那台开启了SSH功能的VPS,通过CRT(SecureCRT)用SSH链接到公网的VPS(此时所以数据流都可以通过Proxifier出去)。

到了这一步,前面的准备的工作已经完成,然后进行二次代理,以Firefox为例:

插件:autoproxy,设置127.0.0.1 (更多…)

限制SSH的登录IP

为了保证服务器的安全,我们可以对SSH的登录IP进行限制。要实现这个功能,有两个方法:
1.IPTABLES大法
使用如下指令可以将1.2.3.4添加到可访问的IP列表内。如果要添加多个IP,只要多次执行第一句即可。第二句只需要执行一次。
# All connectsion from address 1.2.3.4 to SSH (port 22)
iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT

# Deny all other SSH connections
iptables -A INPUT -p tcp --dport 22 -j DROP

执行完了之后别忘了service iptables save保存修改
2.使用hosts.allow和hosts.deny
按照如下方式修改/etc/hosts.allow
# (更多…)

服务器批量执行工具 PSSH

操作一台服务器的时候可以 ssh,操作多台服务器可以开多个窗口多个 ssh,那操作很多台服务器呢?

我们的一个 Oracle Gird Engine 集群上大概有60多台 Ubuntu 服务器作执行节点,这些服务器操作系统和软件配置完全一样(上线后由 puppet 统一配置),有时候我们需要在这些服务器上做同样的操作,这个时候特别适合使用 PSSH 这种 ssh 批量操作工具。

当然,如果对 Python 不恐惧的话也可以用 Fabric 批量执行服务器任务。

下载和安装 pssh:

$ git clone http://code.google.com/p/parallel-ssh/
$ cd parallel-ssh/
$ sudo python setup.py install

批量执行

首先新建一个服务器列表文件,把需要操作的服务器的 hostname(或者 (更多…)

9 Awesome SSH Tricks

Sorry for the lame title. I was thinking the other day, about how awesome SSH is, and how it’s probably one of the most crucial pieces of technology that I use every single day. Here’s a list of 10 things that I think are particularly awesome and perhaps a bit off the beaten path.

Update: (2011-09-19) There are some user-submitted ssh-tricks on the wiki now! Please feel free to add your favorites. (更多…)

Keep an Eye on SSH Forwarding!

OpenSSH is a wonderful tool box. The main purpose is to establish encrypted connections (SSH means Secure SHell) on a remote UNIX machine and, once authenticated, to spawn a shell to perform remote administration. Running on port 22 (default), the client (ssh) and the server (sshd) exchange encrypted information (what you type and the result of your command). I’ll not review the long list of options (更多…)

通过SSH实现端口映射

可以将远端服务器一个端口remote_port绑定到本地端口port,其中-C是进行数据压缩,-f是后台操作,只有当提示用户名密码的时候才转向前台。-N是不执行远端命令,在只是端口转发时这条命令很有用处。-g 是允许远端主机连接本地转发端口。-R表明是将远端主机端口映射到本地端口。如果是-L,则是将本地端口映射到远端主机端口。

ssh的三个强大的端口转发命令:

转发到远端:ssh -C -f -N -g -L 本地端口:目标IP:目标端口 用户名@目标IP

转发到本地:ssh -C -f -N -g –R 本地端口:目标IP:目标端口 用户名@目标IP

ssh -C -f -N -g -D listen_port user@Tunnel_Host

 

-C:压缩数据传输。

-f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-N (更多…)