跳至內容

UNIXETC

标签: VPS

SSHFS使用实例

什么是SSHFS? SSHFS是一个通过SSH连接到服务器的网络文件系统客户端。 SSHFS允许您使用SFTP挂载远程文件系统。 大多数VPS SSH服务器默认情况下都支持并启用此SFTP访问,因此SSHFS使用非常简单,无需在服务器端执行任何操作。 项目当前状态 SSHFS由所有主要的Linux发行版本提供,并且已经在多种系统上投入生产使用多年。 但是,目前SSHFS没有任何活动的常规贡献者,并且存在许多已知问题(请参阅Bugtracker)。 当前的维护者继续应用拉取请求并进行定期发布,但是不幸的是,除了解决高影响力的问题之外,它没有能力进行任何开发。 报告错误时,请理解,除非您包含拉取请求或报告严重问题,否则您可能不会得到响应。 安装SSHFS 首先,从https://github.com/libfuse/sshfs/releases下载最新的SSHFS版本。 在Linux和BSD上,您还需要安装libfuse 3.1.0或更高版本。 在macOS上,您需要OSXFUSE。 最后,您需要带有开发标头的Glib库(应该可以从操作系统的程序包管理器中获得)。 构建和安装,我们建议使用Meson(0.38版或更高版本)和Ninja。 解压缩sshfs tarball之后,创建一个(临时)构建目录并运行Meson: $ mkdir build; cd build $ meson .. 通常,默认的构建选项可以正常工作。 但是,如果您要调整它们,可以使用mesonconf命令进行: $ mesonconf # list options $ mesonconf -D strip=true # set an option 构建,测试和安装SSHFS,请使用Ninja(运行测试需要py.test Python模块): $ ninja $ python3 -m pytest test/ # optional, but recommended $ sudo ninja install CentOS安装sshfs简单方法 yum install -y epel-release yum -y install fuse-sshfs 使用SSHFS 安装了sshfs后,运行它就非常简单:

Nginx V2ray and WebSocket

安装v2ray/nginx v2ray安装可以参考Ubuntu中v2ray客户端配置实例. Nginx安装推荐使用OneinStack一键安装脚本 准备好使用的域名,这里以**v.fuckgfw.cn**为例。 v2ray/nginx服务端配置 v2ray安装好后,服务端配置**/etc/v2ray/config.json**如下: { "inbounds": [{ "port": 99999, //代理端口号 "listen": "127.0.0.1", "protocol": "vmess", "settings": { "clients": [{ "id": "5c1eed18-fse4-41fs-9as9-e85s45bds9ef", "level": 1, "alterId": 64 }] }, "streamSettings": { "network": "ws", "wsSettings": { "path": "/fcgfw" //代理目录 } } }], "outbounds": [{ "protocol": "freedom", "settings": {} }, { "protocol": "blackhole", "settings": {}, "tag": "blocked" }], "routing": { "rules": [{ "type": "field", "ip": ["geoip:private"], "outboundTag": "blocked" }] } } 使用OneinStack一键脚本新建一个站点,域名为v.fuckgfw.cn,采用SSL加密模式,完成后编辑**/usr/local/nginx/conf/vhost/v.fuckgfw.cn.conf**文件 参考以下修改:

使用net_speeder加速VPS

当使用国外服务器时,经常会发现,下载速度只有十几k。平时可能不太注意,认为服务器带宽不足,或者自己使用的宽带不给力,其实很有可能原因并不在此。 由于光速的局限性,延迟会比较高(即使光沿直线传播,太平洋一个往返也要一百多毫秒)。并且由于距离较远,途径路由跳数较多,并且网络拥堵的原因。经常会发生丢包的情况。 对于平时使用最广泛的TCP协议来讲,发送端发出包后,接收端会回复ACK,表示自己收到了。用这种机制来保证可靠性。但对于高延迟链路来讲,如果每发送一个包都等待应答,那么大部分时间都在等待数据包到达,而链路则空置了。为此一般会采用滑动窗口技术。即在窗口满之前,发送端一直发送包,然后收到应答后将确认收到的包从窗口中移除。这样可以提高链路利用率。 TCP还有一个特性则是拥塞控制。当发送端检测到链路发生丢包时,则会主动缩小窗口大小以减慢发送速度,避免拥塞。不过对于跳数较多的链路来讲,只要有一个路由不够稳定丢包,就会被发送端判断为拥塞,从而影响网络速度。 为了解决丢包问题,最简单粗暴的方法就是双倍发送,即同一份数据包发送两份。这样的话在服务器带宽充足情况下,丢包率会平方级降低。 这种方式下,直接优点是降低丢包率,直接缺点是耗费双倍流量。一些延伸影响是更容易触发快速恢复逻辑,避免了丢包时窗口缩减过快。一定程度也能提高网络速度。 最近比较忙,空闲时间做了一个最简单的程序,试用效果很好,在一台VPS上测试后发现,未开启时单线程下载、ssh管道速度在十几K级别。开启后可以达到平均300KB+的速度。效果非常明显。但对于不加速就可以跑满带宽的类型来讲(多线程下载),开启后反而由于多出来的无效流量,导致速度减半。所以对于多线程/高速链路,这个方案是不适合的。 目前版本是最简单的逻辑,未来会进行细化(主动触发快速恢复、快速重传等),降低流量浪费,提升加速效果。 目前程序起名net-speeder,相对于修改协议栈来讲,由于后者需要重新升级编译内核,使用用户态程序部署更方便,稳定性更高,兼容性更好。缺点则是性能开销稍大和自由度有损失。总体比较起来,个人使用还是使用用户态程序更合适一些,特别是在虚拟机中使用(OpenVZ,LXC等虚拟机无法自己定制内核)。 摘自http://www.snooda.com/read/324 net_speeder项目主页 https://github.com/snooda/net-speeder 安装net_speeder apt-get install libnet-dev libpcap-dev -y git clone https://github.com/snooda/net-speeder.git cd net-speeder sh build.sh mv net_speeder /usr/local/bin/ 使用net_speeder 使用ifconfig查看网卡端口,我的端口为venet0 nohup net_speeder venet0 "ip" >/dev/null 2>&1 & 添加到开机启动 echo 'nohup net_speeder venet0 "ip" >/dev/null 2>&1 &' >> /etc/rc.local

使用Google Authenticator两步验证加强SSH登录

Google Authenticator开源版主页 https://github.com/google/google-authenticator 安装Google Authenticator Ubuntu已经包含libpam-google-authenticator软件(Ubuntu 11.10以上版本),可以直接使用apt-get安装 apt-get install libpam-google-authenticator 其他系统可以通过源码编译安装 git clone https://github.com/google/google-authenticator-libpam.git cd google-authenticator-libpam/ ./bootstrap.sh ./configure make make install 注意:在Debian7中执行./configure时可能存在以下错误提示 configure: error: Unable to find the PAM library or the PAM header files 在此需要安装libpam0g-dev和libtool apt-get -y install libpam0g-dev libtool 设置Google Authenticator 在手机端搜索安装Google Authenticator google-authenticator Do you want authentication tokens to be time-based (y/n) y 然后出现二维码,使用手机端Google Authenticator扫码,接下来服务器端继续设置 如果没有出现二维码,可以将提示的以**https://www.google.com/chart?**开头的连接复制到浏览器中,就可以看到二维码了 Do you want me to update your "/root/.

安装Nginx和ngx_pagespeed

VPS配置: Ubuntu 14.04 x86 RAM 512M SWAP 64M DISK 5G 准备工作 sudo apt-get update&&apt-get upgrade -y sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip libssl-dev -y 下载ngx_pagespeed cd NPS_VERSION=1.9.32.4 wget https://github.com/pagespeed/ngx_pagespeed/archive/release-${NPS_VERSION}-beta.zip unzip release-${NPS_VERSION}-beta.zip cd ngx_pagespeed-release-${NPS_VERSION}-beta/ wget https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz tar -xzvf ${NPS_VERSION}.tar.gz 安装Nginx cd groupadd www useradd -s /sbin/nologin -g www www NGINX_VERSION=1.8.0 wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz tar -xvzf nginx-${NGINX_VERSION}.tar.gz cd nginx-${NGINX_VERSION}/ ./configure \ --user=www \ --group=www \ --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_spdy_module \ --with-http_gzip_static_module \ --with-http_sub_module \ --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}-beta \ sudo make sudo make install sudo ln -sf /usr/local/nginx/sbin/nginx /usr/bin/nginx 配置/etc/init.