ssh跳板登录服务器

该篇内容仅适用于*nix环境,不适用windows。

有时候一些后端服务器或者设备没有开放直接对外登录的服务。
往往需要使用到代理或者从堡垒机转二次登录。
在使用过程中遇上需要直接拷贝传输文件会觉得非常蛋疼,这时候ProxyCommand就派上用场了

前景约定:  10.0.0.1 是我们的堡垒机  10.10.10.1是没有对外开放网络的后端服务器,登录凭证则最好是禁用密码使用rsa进行登录
普通情况,先在终端下运行 ssh 用户@10.0.0.1 登录成功后再次运行 ssh 用户@10.10.10.1 进行管理。
使用ProxyCommand的设置方法后登录则 ssh 用户@10.10.10.1 直接进入后端。

本地环境设置的内容大致如下:

cat ~/.ssh/config
Host 10.10.10.1
ProxyCommand ssh -p 22 用户@10.0.0.1 -W %h:%p 2>/dev/null

Host 10.10.10.2
ProxyCommand ssh -p 22 用户@10.0.0.1 -W %h:%p 2>/dev/null

ssh client走socks5代理跳板连接服务器

解决一些特殊情况问题,例如网络差,或者需要进入内网时候用得到,转抄回来存档。

ssh -o ProxyCommand='nc -x ${proxy_server}:${proxy_server_port} %h %p' xxx.xxx.xxx.xxx

如:

ssh -o ProxyCommand='nc -x 127.0.0.1:7070 %h %p' 8.8.8.8

需要注意的是,nc需要使用 OpenBSD 版本,非 Linux 默认版本(该版本不支持)通常,类 Debian 的衍生版本,都可以通过如下命令直接安装:

apt-get install netcat-openbsd

转抄自:http://blog.chenxiaosheng.com/posts/2013-12-20/ssh-through-socks-proxy.html

[快速上手]如何快速上手使用Linux VPS建立网站

本篇文章基于:Xen Pv VPS,服务端Centos6 X86 32Bit系统, 客户端Windows系统,Xshell终端软件.
对于刚接触Linux系统的人会感觉一头雾水,有的同学甚至会尝试使用远程桌面去连接管理。
其实Linux入门非常简单的,首先。。。你要有一个可以用的服务器或者VPS,如果你没有的话可以去https://www.kvmla.com购买一个。
准备好ssh客户端工具 可以直接在这儿下载 http://down.kvm.la/windows/Xshell4.exe,安装Xshell选择Free for Home/School,可以免费使用无须破解。
ssh客户端建议使用原生的,破解软件和一些汉化软件有植入后门,我们提供的下载链接可以放心使用。

再次重复说一次开始:先去https://www.kvmla.com购买一个服务器或者VPS,Xen VPS效果最佳。

登陆会员中心

登陆会员中心就可以看到您的主机

找到主机IP和密码

阅读剩余部分...

ssh踢除登陆的账户

第一种办法用用fuser,一般远程登陆的都可以直接喀嚓掉,但是如果遇上是在终端上直接登陆的就得用who找出pid然后kill。

1
[root@Server ~]# <span style="color:#ff0000;">w</span><br /> 16:05:59 up 284 days,  1:47,  2 users,  load average: 0.22, 0.07, 0.02<br />USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT<br />root     xvc0     -                02Feb13  6.00s  0.00s  0.00s -bash<br />root     pts/0    X.254.168.X    16:11    0.00s  0.00s  0.00s w<br />

通过w命令查找出pts的ID,然后fuser对其可以下手除掉了。

1
<p><span style="color:#ff0000;">fuser -k /dev/pts/0</span></p>

终端上登陆的时候不会有pts,这就得直接对进程下手了.

1
[root@Server ~]# <span style="color:#ff0000;">who -Hu </span><br />NAME     LINE         TIME              IDLE          PID       COMMENT<br />root     xvc0         Feb  2 20:01   .               1313<br />root     pts/0        Apr 28 16:11   .               24240     (X.254.168.X)

使用who -Hu就直接能定位出其PID,然后对其下黑手,

kill -9 1313

上面两种办法就能顺利干掉登陆的账号。

linux ssh密钥认证

SSH是一个在应

用程序中提供安全通信的协议,通过SSH可以用安全的访问服务器,因为SSH基于

成熟的共钥加密体系,把所有的传输的数据进行加密,保证数据在传输时不被恶

意破坏,泄漏,篡改。SSH还是用了多种加密和认证方式,解决了传输中数据加密

和身份认证的问题,能有效的防止网络嗅探和ip欺骗等攻击。
OpenSSH
Linux下广泛使用免费的OpenSSH程序来实现SSH协议.Red Hat Enterprise

linux 4也同样使用OpenSSH.它同时支持SSH1和SSH2协议.

一、检查系统是否安装OpenSSH
[root@simple ~]# rpm -q openssh-server
openssh-server-3.9p1-8.RHEL4.15

二、SSH服务的配置
1、配置SSH服务的运行参数,是通过修改配置文件/etc/ssh/sshd_config实现的


2、因为SSH服务使用默认的配置已经能够很好的工作,如果仅仅提供SSH服务不需

要修改。这里只介绍一
些常用的选项。
#Port 22
定义了SSH服务监听的断口号,SSH服务默认使用的端口号是22
#Proctocol 2,1
定义了SSH服务器使用SSH协议的顺序。默认识先使用SSH2协议,如果不成功则使

用SSH1协议,为了安全起
见,可以设置只使用SSH2协议。
#ListenAddress 0.0.0.0
定义SSH服务器帮定的IP地址,默认绑定服务器所有可用的IP地址.
#PermitRootLogin yes
定义是否允许管理员登陆
#PermitEmptyPasswords no
定义是否允许空密码登陆.
#PasswordAuthentication no
定义是否使用口令认证方式,如果准备使用公钥认证可以设置为no

三、使用公钥认证

1、原理:首先由用户生成一对密钥,然后将公钥保存在SSH服务器用户的目录

下.ssh子目录中的authorized_key文件里(/root/.ssh/authorized_key).私钥保

存在本地计算机.当用户登陆时,服务器检查authorized_key文件的公钥是否与用

户的私钥对应,如果相符则允许登入,否则拒绝.由于私钥只有保存在用户的本地计

算机中,因此入侵者就算得到用户口令,也不能登陆到服务器.
2、启用公钥认证
修改配置文件/etc/ssh/sshd_config
将”PasswordAuthentication yes”修改为”PasswordAuthentication no”
3、生成密钥

A:192.168.1.159

[root@159 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
dd:61:6a:1e:df:37:14:61:0a:f1:9f:b3:37:5e:bb:1c root@159

[root@159 ~]# cd .ssh/
[root@159 .ssh]# ls
id_rsa id_rsa.pub

[root@159 .ssh]# scp id_rsa.pub root@192.168.1.39:/root/.ssh/authorized_keys

B:192.168.1.39

[root@39 ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
66:7b:2f:d8:af:db:f0:37:aa:09:05:25:fc:4f:0b:4c root@39

[root@39 ~]# cd .ssh/

[root@39 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts

[root@39 .ssh]# scp id_rsa.pub root@192.168.1.159:/root/.ssh/authorized_keys

四:验证:

[root@39 .ssh]# ssh 192.168.1.159
Last login: Mon Jun 27 10:47:03 2011 from 192.168.1.39
[root@159 ~]#

[root@159 .ssh]# ssh 192.168.1.39
Last login: Fri Jun 10 08:05:47 2011 from 192.168.1.159
[root@39 ~]#

安装denyhosts防止被扫口令

概述: 现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进 行暴力破解(穷举扫描),所以建议vps主机的空间,尽量设置复杂的ssh登录 密码!
 那么有什么办法设法阻止这些,就可以使用denyhosts这款软件了,DenyHosts是 Python语言写的一个程序,它会分析SSHD的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽 IP的功能。
DenyHosts官方网站为:http://denyhosts.sourceforge.net
目的: 阻止非授权的大量访问我们的ssh端口,造成负载过高
环境:vps主机 使 用型 centos5系统
安装:
一、使用原代码安装
1、下载原文件且解压
wget http://downloads.sourceforge.net/denyhosts/DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
2、安装、配置和启动
python setup.py install
默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详 细的解释
接着使用下面命令启动denyhosts程序
chown root daemon-control
chmod 700 daemon-control
./daemon-control start
如果要使DenyHosts每次重起后自动启动还需做如下设置:
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 2345 denyhosts on
或者修改/etc/rc.local文件:
echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local
DenyHosts配置文件denyhosts.cfg说明:
SECURE_LOG = /var/log/secure
 
#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。
 
HOSTS_DENY = /etc/hosts.deny
 
#控制用户登陆的文件
 
PURGE_DENY = 5m
 
#过多久后清除已经禁止的
 
BLOCK_SERVICE = sshd
 
#禁止的服务名
 
DENY_THRESHOLD_INVALID = 1
 
#允许无效用户失败的次数
 
DENY_THRESHOLD_VALID = 10
 
#允许普通用户登陆失败的次数
 
DENY_THRESHOLD_ROOT = 5
 
#允许root登陆失败的次数
 
HOSTNAME_LOOKUP=NO
 
#是否做域名反解
 
DAEMON_LOG = /var/log/denyhosts
 
#DenyHosts的日志文件
更多的说明请查看自带的README文本文件。
二、使用yum命令安装
1、下载和安装EPEL RPM
cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm
2、使用yum命令安装denyhosts
yum install denyhosts
主要配置文件/etc/denyhosts.cfg ,您可以看看,确保配置合适你的环境
3、添加系统启动自动运行
chkconfig --add denyhosts
chkconfig denyhosts on
如何你想把某个ip或者ip段放入白名单,可以使用下列命令,这样就可以避免把自己的ip阻止了
echo '208.85.151.*' >> /var/lib/denyhosts/allowed-hosts
这样208.85.151.*就可以不受到此程序的约束,请根据自己的环境进行设置
4、最后启动服务
service denyhosts start