'SSH' 标签

DigitalOcean 通过换机房巧换 IP 解决 SSH 被墙

最近,一直作备用的2个 SSH 账号突然被墙,连不上。这是第一次遇到这事儿。因为除非首选工具无法使用时,SSH 才上场。我知道你会和我一样的怒,或许你的 SSH 或 VPN 早被干掉了 N 次。

DigitalOcean 的好处是实惠的价格加比较靠谱的性能,然而它们提供的功能也是很先进的。如果 IP 被认证,SSH 肯定也就无法使用。解决办法就是换 IP。DO 的 VPS 换 IP 也就是十来分钟的事情。由于 DigitalOcean 提供多个机房随意更换所以,换 IP 就变得可能。

首先 Power Off 目标 Droplets,然后给它创建一个 Snapshots ,完成后在 More 选项中执行 “Add to Region” 选择新的机房,不能选择原来的机房,这会导致不能获得新的 IP。

新建一个 Droplets ,在 “Choose an image” 栏目找到 Snapshots 选项,并找到刚才创建的快照,一路按提示设置完成既可以。

Ping 新机房的 IP 看能否在东方这边能通(在确定不是 VPS 禁 Ping 的前提下)。一般新分配的 IP 都 OK 的。

在选择哪个机房时,可以先测速。不过过段时间后也可以再重新折腾回钟爱的机房。

如果新的 IP 不久后又被撞墙,就又来换个。看它们会不会把 DigitalOcean 所有的 IP 都干掉。

GA 已经苟且着,GP 越来越向高端玩家靠拢。你想访问个网站真的越来越难。

从一台裸VPS开始部署一个应用运行环境

从一台Ubuntu Server 14.0.4裸服务器开始,第一步,SSH登录后立马修改root密码:

passwd //根据提示输入新密码即可

SSH 安全配置,禁用root登录,新建用户并赋予root权限 - sudo
adduser newmen //新建一个用户-newmen;输入密码后,附加信息可以不用理

gpasswd -a newmen sudo //赋予newmen 通过sudo行驶root权限的能力

如果需要,还可以
visudo

在root    ALL=(ALL:ALL) ALL 这行的下面添加
newmen    ALL=(ALL:ALL) ALL // 不添加这一行,会导致文件只能上传到users所拥有的目录。

如果选择密匙的方式登录SSH,需进行公私密匙在本地和服务器端部署。

修改默认SSH端口22
vi /etc/ssh/sshd_config
Port 22 改为  Port 一个自定义端口(端口必须在1025与65536之间)
Protocol 2

禁用root登录以及
将PermitRootLogin yes 更改为 PermitRootLogin no

最后在最末行添加
UseDNS no
AllowUsers newmen

重启SSH服务
service ssh restart 或者 reload ssh

最后登登录SSH的方式
ssh -p 端口 newmen@IP地址

安装防火墙 iptables:

查看默认规则
sudo iptables -L 或者 sudo iptables -S

sudo iptables -F //弃用默认的规则

sudo iptables -P INPUT ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT //添加允许当前SSH链接规则,-A INPUT中的—A表示添加该规则到底部

sudo iptables -L //查看规则有哪些变化

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT //允许SSH端口通过,22改为自定义端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT //开放80端口

sudo iptables -I INPUT 1 -i lo -j ACCEPT //-I 告诉iptables插入该规则。 1表示需要一个链条和新规则要插的位置

sudo iptables -S //查看修改后的规则

sudo iptables -P INPUT DROP

保存配置的iptables规则,并选择自动加载当前规则

sudo apt-get update
sudo apt-get install iptables-persistent

搭建LEMP环境+Varnish 4X

sudo apt-get update
sudo apt-get install nginx
sudo apt-get install mysql-server
sudo mysql_install_db
sudo mysql_secure_installation //输入mysql root密码后,根据提示删除多余的数据
sudo apt-get install php5-fpm php5-mysql

sudo vi /etc/php5/fpm/php.ini
将cgi.fix_pathinfo=1 修改为 cgi.fix_pathinfo=0 //安全设置

sudo service php5-fpm restart

sudo vi /etc/nginx/sites-available/default
将内容更改为
server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name server_domain_name_or_IP;

    location / {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

sudo service nginx restart

sudo vi /usr/share/nginx/html/info.php //测试php是否成功安装


浏览 http://server_IP/info.php ,看到PHP服务信息,基表示成功

sudo rm /usr/share/nginx/html/info.php

安装 Varnish 4X

apt-get install apt-transport-https
curl https://repo.varnish-cache.org/GPG-key.txt | sudo apt-key add -
echo "deb https://repo.varnish-cache.org/ubuntu/ trusty varnish-4.0" >> /etc/apt/sources.list.d/varnish-cache.list
apt-get update
apt-get install varnish

sudo vi /etc/default/varnish
DAEMON_OPTS="-a :80 \ //端口改为80

vi /etc/varnish/default.vcl //加入自己想加入的任何规则

sudo /etc/init.d/nginx restart
sudo /etc/init.d/varnish restart

VPS各种备份的SSH命令

例如:tar -czvf /var/backups/mysql.tar.gz -c /etc/mysql 是将数据库备份到var/backups。这里加“-c”参数就可以解决“tar: Removing leading `/’ from member names”这个提示。
还有:mysqldump -uwpdbuser -pmysqlpass mysqlname | gzip > backupdb.sql.gz
tar -zcvf /usr/backup/nginx_conf_$(date +%Y%m%d).tar.gz /usr/local/nginx/conf备份nginx配置文件

对于使用ubuntu的VPS可以在这里看到各种备份的SSH命令 这里有自动备份到Dropbox的教程。

Android平台 Free SSH Clients

SSH Clients也就是SSH客户端 Google Paly上有许多个这些应用,下面的几个是被认为优秀不错的免费版的几个SSH Clients。

  • JuiceSSH   //被称为SSH clients中的劳斯莱斯 要伪装成西方帝国主义分子才能在Google Paly里下到
  • VX ConnectBot   //ConnectBot的增强版本
  • ConnectBot   //开源
  • Server Auditor   //多平台
  • Telnet   //非常简单的telnet和SSH客户端

Via :linuxlinks

墙外行人少 不要错过此帖

墙外行人少,墙里佳人笑。……行人依稀,寻寻觅觅。江南之色,迷恋至极。

墙外风光无限好啊!以至于红杏都要爬出墙来,欣赏那无数个的江南。那边风光也独好,可惜啊,我们生活的墙院里,那面围墙特别的阻挡人们的去路,所以,这就是为什么你会寻找这些内容,读到此文一样。