使用SSH加密一切连接的可能性

嗯,这阵子入手了一个VPS,然后是各种折腾啊,因为毕竟是在互联网上,高手不知何几,于是感到,小心为上啊。可是不开放端口是不行的……这个怎么办呢?嗯,是个问题,然后,SSH进入了我的眼帘。之前也发过一使用SSH代理,对此进行过研究,不过这个实在是太片面了,完全不能发挥SSH的全部性能。

继续是参考文章:

上班族ssh tunnel求生手冊

这次要研究的是这个“L”开关

这个转发形造成的结果就是,不对公众开放的端口都可以开放在127.0.0.1,然后使用端口转发转过去。

比如说,假设我有一个支持SSH登录的服务器,服务器IP为192.168.77.1,在服务器上启动一个mysql,修改my.cnf,让mysqll只listen在127.0.0.1上,然后使用

ssh -NfL 127.0.0.1:3306:127.0.0.1:3306 192.168.77.1

这样,你就可以使用连接mysql的软件,连接127.0.0.1:3306,就可以直接访问远程的mysql服务器了!(即使你没有Shell权限!!)

稍微解释一下命令的内容

ssh -NfL 127.0.0.1:3000:127.0.0.1:3306 192.168.77.1

N : 什么也不做

f : 在后台运行

L :端口转发

127.0.0.1 :ssh在本地上监听的端口,如果要对公众开放,写0.0.0.0,如果要对某个接口上的人开放,填写该接口的ip

3000 :本地的监听端口

127.0.0.1 :服务器要连接的ip,因为例子使用的是连接服务器上不对外开放的mysql,于是写127.0.0.1

3306 :远程服务器要连接的端口,mysql使用的是3306

192.168.77.1 :远程服务器的ip

其实这也算是一种代理吧,只是用的方式有点特别。

发现这样之后,服务器一下子就变得安全起来,Linux的什么VNC Server啊,windows的remote desktop啊什么的,全部都可以藏在127.0.0.1,不对外开放,端口就剩一个ssh的22,服务器的安全性得到了很大的提高。

然后就是,这样的用法的话,可以使用多重连接,比如A不能直接连到B的情况下,可以找到一个可以连接到B的C,然后再经过类似的叠加而进行绕行连接,意外的方便。不过似乎在实际应用中,连接会有点不稳定。

尝试了编译Linux内核

Linux真是个好东西啊~核心功能什么的都可以随便自己弄……

稍微记录一下经过吧

 

参考:

  1. http://blog.csdn.net/youyoufengxinzi/article/details/1516263

 

首先,下载Linux的内核,大概70~100MB,内核的话自己去

ftp://ftp.kernel.org/pub/linux/kernel/

里面找,选择的话当然是要选最新的啦~

找到之后,用wget下载下来,然后解压(tar -vxf),然后切换到解压出来的文件夹里面,例:

wget ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-3.1.6.tar.bz2
tar -xvflinux-3.1.6.tar.bz2

cd linux-3.1.6

然后

make mrproper

make menuconfig

话说这个menuconfig真是个好东西啊~操作起来很舒适

之后就是根据自己的需要修改内核的功能, “Y”代表将该功能编译进内核,“N”代表不将该功能编译进内核
,“M”代表将该功能编译成可以在需要时动态插入到内核中的模块。

将与核心其它部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗的内存,简化该功能相应的环境改变时对内核的影响。许多功能都可以这样处理,例如网卡的支持、对FAT等文件系统的支持。

 

…………………………最后还是没用上……

 

CentOS 5.3 下快速安装配置 PPTP VPN 服务器

来源:http://blog.s135.com/pptp_vpn/

 

—————————————————————

一、CentOS 5.3 下 PPTP VPN 服务器安装

1、安装相关软件

32位版:

yum install -y ppp iptables
wget https://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

64位版:

yum install -y ppp iptables
wget https://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm

2、配置文件编写

①、配置文件/etc/ppp/options.pptpd

mv /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak
vi /etc/ppp/options.pptpd

输入以下内容: 继续阅读

入手了一个VPS,建造了贝壳的外部接口

千挑万挑,最后还是挑了一个国外的VPS,毕竟价格什么的是在让人受不了啊……

现在的话用的这个十分的便宜,嗯每个月36.4,说实在的,这个价格让我直接决定自己负担算了(本来还打算找援助什么的)

有兴趣的人可以点这里查看相关资料

 

表示自己选择的是VZ384

 

磁盘空间25GB/(RAID10)
内存384MB
突发内存768MB
月流量400GB
1个独立IP
只能Linux 系统
SolumsVM控制面板

感觉良好,性能似乎十分不错,不过看起来似乎非常抢手,现在已经卖完了,要的话只能找更高级的去了

 

 

至于外部接口再次建好之后发现这个,有点慢啊……本来想说只有数据库的文字的话估计没多少吧,结果还是不行呢,页面生成时间都要好几秒。如果直接端口转发的话估计会被撑死吧……(再次诅咒这该死的学校,好渣的网速啊)

再研究一下mysql的双向同步好了……毕竟好几秒的页面生成速度实在让人蛋疼……

哇哇哇哇哇哇哇……装上了Gnome3了~

还是首次在Linux上装窗口管理器呢~居然一次就成功了什么的,才没有骄傲呢!

以下是笔记~

——————————————————————————————————

参考文献:

1.http://linux-wiki.cn/wiki/GNOME_3%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE%E4%B8%8E%E4%BD%BF%E7%94%A8

2.http://wiki.ubuntu.com.cn/Ubuntu%E6%A1%8C%E9%9D%A2%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97#1.1.5..E2.80.83.E6.A1.8C.E9.9D.A2.E7.8E.AF.E5.A2.83

3.http://hi.baidu.com/worstway/blog/item/88166d547fa4c15cd0090640.html

——————————————————————————————————

首先要说的是,绝对不要查那些看起来已经很久的东西,因为我在找资料的时候,找到各种“方法1:修改/etc/sysconfig/desktop,根据需要将“DESKTOP”后面的内容改为KDE或GNOME”,“如果需要切换到GNOME:switchdesk gnome”都没用,至少在我的Ubuntu上没有效果,配置文件找不到,命令也找不到switchdesk,甚至去找软件包都找不到,所以,有时候实践会更加有效。

接下来,奉上我安装的全部经过,作为大家的参考:(环境:Ubuntu 11.10,截图什么的当时没留下来,就算了)

  1. 打开synaptic(图形界面真是个好东西啊,装上之后就不想打命令了),快速过滤gnome,一口气将所有看起来很有用的软件包全部安装了(大概要安装120M+的东西)
  2. 在安装桌面管理器的时候会弹出来对话框,让你选择窗口管理器,我看了一下,一个xdm,一个lightdm,似乎有点迷糊,想了想,再次打开synaptic,把gdm也装上了,选择了gdm(毕竟还是gnome的东西,应该会比较兼容)PS:之后的话可以用dpkg-reconfigure xdm/lightdm/gdm 来重新设置
  3. 重启,接着就可以在登录界面选择窗口管理器
  4. 结束

嗯……大概就是这样吧。最开始学Linux是在Andrew君的指引下使用了Ubuntu,期间也没学到多少,纯粹是在玩了。后来开始认真研究Linux的话,是在研究手上那只跑着Openwrt的路由的时候慢慢弄懂的,比如文件结构什么的,再跑回来装Ubuntu的时候发现,唉?这个,似乎很多命令都通用啊,软件安装什么的似乎都差不多。然后才开始慢慢融会贯通,甚至在虚拟机里面装了一个Debian,故意不装桌面环境,看着命令行有种熟悉的感觉,真的不错呢~现在的话,对Linux说不上非常熟悉,不过至少对软件的使用什么的还是懂的不少,像cron啊,autossh啊什么的,用起来比windows方便不少。

apt-get软件包管理

最近研究了一下Debian,也刚重新越狱了自家的iPod Touch,发现使用的是Debian的包管理,于是稍微找了一下相关资料

来源:

1.http://hi.baidu.com/che_hong_wei/blog/item/f2c295327006c0f21a4cff95.html

 


 

软件包安装

  • apt-get install 软件包名称 – 安装一个新软件包 (参见下面的 Aptitude)。
  • aptitude – Ncurses (译注:一种 API,在命令行模式下做出类似GUI的界面)制作的已安装和可安装的软件包查看器。 Aptitude 也可以像 apt-get 一样在命令行下使用,不过它只包含 apt-get 一部分的指令,例如常用的 install 和 remove 之类。不过因为 Aptitude 能比 apt-get 显示更多信息,因此在安装和卸载软件的时候要更好用一些。
auto-apt 命令

auto-apt run 命令 – 这条命令可以自动安装包含缺失文件的软件包。如果这里的“命令”在运行的时候访问了一个系统中没有的文件,那么 auto-apt 会用 apt-get 来安装包含缺失文件的的软件包。这项功能需要有 APT 以及 sudo 来工作。比如说你在编译一个软件,但是弹出一个错误说你缺少某个文件,那么 auto-apt 就会询问你是否要安装包含这个缺少的文件的软件包。同样它也会暂停相应的编译进程,并且在安装完毕之后恢复它。例如可以这样用:

# auto-apt run ./configure

这样如果缺少文件,auto-apt 就会自动使用 apt-get 来安装它。如果 X 服务器正在运行,也会有相应的图形界面。 auto-apt 有一个数据库,需要必要的更新以适应不断的变化。更新的命令为 auto-apt updatedb 以及 auto-apt update-local

 软件包维护 继续阅读

申请免费SSH主机来作为私人代理,翻越高高的城墙

嗯,前阵子看见这个ssh代理似乎非常好用的样子……所以呢~就将注意打到这个头上了。嗯,结果很成功,把教程给大家分享一下哈~

参考:http://94iw.com/cpanel-get-ssh-account(已被墙)


从cPanel面板的免费空间获得SSH账号

是不是还在为上YouTube、Facebook等网站到处找在线代理甚至花钱买VPN账号呢?

从现在开始利用cPanel面板的免费空间来实现SSH代理,轻松翻越长城。

当然不是说说而已,现在告诉大家方法。

当然你首先得有免费空间而且是cPanel的面板,本站收集了很多这样的免费空间大家可以多看看。

教程以freehosting.com免费空间为例,申请教程就不说了,不懂英文的可以借助翻译工具或使用谷歌浏览器申请,而且本站也有类似的教程。

SSH服务器:

申请到空间后进入(94iw.freehosting.com:2082)cPanel管理面板,通常cPanel面板是在域名后加(:2082),登陆后点击expand stats展开统计详细查看共享IP或使用ip.94iw.co.cc输入空间地址来查IP,IP地址就是SSH服务器。

账号密码端口:

在面板的文件板块点击FTP账户

进入FTP账户后点击你cPanel账号后面的配置FTP 客户端

看到手动设置下面的信息

FTP 用户名: 就是你的SSH用户名

SFTP 服务器端口:就是你的SSH端口

SSH密码就是你的FTP账户密码

使用SSH代理

嗯,最近因为某些原因开始研究SSH代理,这是个好东西啊!只需要一枚SSH密码/密钥文件,就可以进行安全的代理,相当的神奇。至少不会被扫描出有开代理服务。嗯,开始着手吧~

参考:

1.上班族ssh tunnel求生手冊

2.如何使用RSA密钥登陆ssh

;

ssh创建sshtunnel的命令是

ssh -NfD bind_addres:port remote_ip

这样就可以创建一个一个ssh代理了,类型是socket4/5,端口是port。

bind_address自己看着写,在于自己搭建的端口要向那个网卡提供服务。

;

问题由来了,可不可以直接登录而不输入密码呢?如果要输入密码的话,就不能让这个代理自动启动(使用autossh)了。

答案就是使用密钥文件。好吧~我为此曾经纠结不了不知多久,因为总不能使用密钥文件来登录。终于在参考2里面找到了答案:因为dropbear的配置没有启用密钥文件登录(后来才找到怎么弄)于是换了一个openssh(方法在最后补上)。并且参照参考2打开了密钥文件登录

;

找到/etc/ssh/sshd_config

找到并消除注释(添加)

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

;

,然后,ok。

详细的操作过程如下:

ssh-keygen -t rsa

会询问密钥文件名称,输入密码(如果用MAC OS的话要记住,似乎第一次使用的话会询问),确认密码

简单点的话直接3个回车就可以了。

然后找到~/.ssh/id_rsa.pub,将里面的内容复制到服务器端的~(用户文件夹)/.ssh/authorized_keys文件里面。然后重启sshd,就可以用密钥文件登录了。

;

;

接下来是补课时间……将ssh服务器从dropbear换成openssh的方法

先安装openssh-server

然后在网页界面或是telnet关掉dropbear的自启动,然后结束掉dropbear,再打开sshd的自启动,打开sshd。嗯,好了。

;

Openwrt顺利地完成更新

昨天在www.openwrt.org.cn看见有rc6的放出,于是赶紧的更新了。

因为路由的话是用了extroot,所以软件包都在U盘上,于是很多软件包有更新,于是只有逐个逐个upgrade,不过有几个包被标记为“hold”,无法升级,所以这时候,直接加上“–force-reinstall”就可以升级了。

至于一个虚拟机上的……嗯,那就麻烦多了因为是x86架构,所以挑升级固件的时候好像挑错了,直接在网页界面升级之后无法打开。于是不得已,重新下载了一个硬盘镜像来转格式,转格式使用的是qemu,陌生的很,只得跟着教程走,顺便记录一下命令

qemu-img convert -f raw openwrt-x86-ext2.image -O vmdk openwrt-x86-ext2.vmdk (灰色部分为文件名,自行修改)然后重新载入,安装软件……嗯大概就是这样啦