selinux引起CentOS无法使用public key登陆的问题

在新安装的centos上建立 /root/.ssh目录,chmod为700, 这个目录中建立 authorized_keys文件,复制公钥进去,设置权限为600,从其他机器使用public key进行ssh登陆,这件事已经做过无数次了。

这次就总是无法登陆成功,退化为使用password,可以登陆成功。
对比了 /etc/ssh/sshd_config文件,和其他服务器没有任何区别。

原来是selinux引起的。 在其他可以正常登陆的服务器上, /etc/selinux/config中, selinux=disabled。而在这次出问题的centos上,则是selinux=enforcing。关于这一点可以使用getenforce命令查看。

继续阅读“selinux引起CentOS无法使用public key登陆的问题”

如何透明的穿过跳板机

出于安全和管理方面的需要,许多公司的服务器必须通过跳板机才能登陆。也就是说像这样子:
假设我们定义3个名字:
localhost 代表工程师工作使用的一个ubuntu系统的pc机。
hopper 代表跳板机。
server 代表工程师想要登陆的服务器。

那么工程师需要在localhost上执行 ssh hoper,这样就进入了hoper服务器。然后再执行 ssh server,这样就登陆了server。
也可以这样: 再localhost上直接执行 : ssh -t hopper ssh -t server。直接一条命令就登陆到server。

当需要scp一些文件的时候则显得更加麻烦,要再hopper上建立一个临时目录,scp到hopper,然后再从hopper上scp到server。这简直是无法忍受的。

不过这样的方式都还是显得太过于麻烦。 还有更好的办法:

继续阅读“如何透明的穿过跳板机”

用ssh做socks5代理,并使进程后台驻留

因为工作需要,利用ssh做socks5代理进行翻墙,供自己和同事们使用。国外一个虚拟主机,国内一台测试机通过ssh连接上去。

在一台测试机上,执行命令如下:

ssh root@106.187.xx.xx -D 5000 -g -f ‘sleep 30d’

-D指定的是开5000端口。 -g参数加上后才允许其它主机通过本机端口转发请求。 -f是使进程fork到background。 至于为什么要sleep 30d呢,这是因为如果不加任何命令,会被提示“Cannot fork into background without a command to execute.”。

 

这样大家就可以在firefox的代理中设置socks5代理, ip指定测试机的ip,端口5000,就可以翻墙了。

继续阅读“用ssh做socks5代理,并使进程后台驻留”