当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪Linux下如何编译安装OpenSSH      SSH在系统管理与运维中的作用,想必大家都是知道的,常用且不可缺少。 远程安装调试SSH特别注意,OpenSSH卸载后,可能导致凡使用SSH协议连接服务器的工具都无法登陆,比如WINSCP、PUTTY等,.........
    ▪Linux HostName设置详解      HostName归根结底,不过是个Name名称而已,目的是避开复杂的、无意义的主机标识(比如,默认的Localhost,IP标识等),让标识更人性化,更易记。如要访问该主机则需要进行一次“名称-IP地址.........
    ▪Linux命令判断CC攻击的几种常用方法      本文介绍Linux命令判断CC攻击的几种常用方法,紧急时刻非常实用的哦。 查看所有80端口的连接数   代码如下: netstat -nat|grep -i “80″|wc -l 对连接的IP按连接数量进行排序   代码如下: netstat .........

[1]Linux下如何编译安装OpenSSH
    来源: 互联网  发布时间: 2013-12-24

SSH在系统管理与运维中的作用,想必大家都是知道的,常用且不可缺少。

远程安装调试SSH特别注意,OpenSSH卸载后,可能导致凡使用SSH协议连接服务器的工具都无法登陆,比如WINSCP、PUTTY等,如果你正使用远程桌面,最好先开启TELNET并确保开机启动(或其它可替代的远程管理工具也可以),客户端可以正常连接后才可动手更新SSH,否则一旦SSH启动失败,就只能找机房了。

一、卸载原来SSH

默认SSH会安装为服务,且开机启动,所以要先把服务停止(本文环境RedHat5.4):
service sshd stop
这时,建议备份一下/etc/init.d/sshd这个启动文件,因为下文编译安装OpenSSH后,没这个启动文件,尽管实际修改使用也不是太方便,除非你下文的安装目录跟原来的一样的。
mv /etc/init.d/sshd /etc/init.d/sshd.old
卸载软件包:
rmp -qa|grep openssh*
把输出列表中的SSH软件包都卸载掉。卸载方法请参考:Linux下软件卸载方法

二、下载并安装新的OPENSSH
 

代码如下:
cd /tmp
wget http://ftp.jaist.ac.jp/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
tar xzvf openssh-5.9p1.tar.gz
cd openssh-5.9p1
./configure --prefix=/usr/local/openssh --sysconfdir=/etc/ssh --with-pam --with-ssl-dir=/usr/local/openssl --with-md5-passwords --mandir=/usr/share/man --with-zlib=/usr/local/zlib2
make && make install

这里需要注意,上面的./configure配置,天缘的默认路径如下:
openssl -> /usr/local/openssl
zlib -> /usr/local/zlib2
确认这些路径跟你的系统对应。不同则需手动修改掉。此外还有些参数,比如:
--bindir=/usr/bin --sbindir=/usr/sbin
可根据需要设定。

三、查询SSH版本

[root@localhost]# ssh -V
OpenSSH_5.9p1, OpenSSL 1.0.1 14 Mar 2012

四、设为服务开机运行

1、简单的开机启动设置方法
由于是自编译安装的OpenSSH,没有sshd这个启动文件,所以直接使用传统的启动方式,直接修改rc.local。打开/etc/rc.local,添加:
/usr/sbin/sshd
即可设置为开机启动。

2、爱折腾设置开机方法
使用chkconfig设置结合上文备份的sshd文件设为开机启动有点麻烦,首先还原/etc/init.d/sshd:
mv /etc/init.d/sshd.old /etc/init.d/sshd
再打开/etc/init.d/sshd文件(原装的sshd启动配置文件大概有4K多,主要确认顶部几个路径是否正确即可),天缘大概整理一下,主要如下几个(可能不一定完整,下次实际确认一下再补充完善):
 

代码如下:

...
# source function library
. /etc/rc.d/init.d/functions

# pull in sysconfig settings
[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd

RETVAL=0
prog="sshd"
lockfile=/var/lock/subsys/$prog

# Some functions to make the below more readable
KEYGEN=/usr/bin/ssh-keygen
SSHD=/usr/sbin/sshd
RSA1_KEY=/etc/ssh/ssh_host_key
RSA_KEY=/etc/ssh/ssh_host_rsa_key
DSA_KEY=/etc/ssh/ssh_host_dsa_key
PID_FILE=/var/run/sshd.pid
...

确认这些并修改这些路径后保存。
使用chkconfig添加为服务:
chkconfig –add sshd
chkconfig –level 2345 sshd on
这样就设置完成了。

五、重启电脑或服务
启动SSH:
service sshd start
停止SSH:
service sshd stop


    
[2]Linux HostName设置详解
    来源: 互联网  发布时间: 2013-12-24

HostName归根结底,不过是个Name名称而已,目的是避开复杂的、无意义的主机标识(比如,默认的Localhost,IP标识等),让标识更人性化,更易记。如要访问该主机则需要进行一次“名称-IP地址”转换。 所以,这个Name是面向网络使用的,单机没有必要,就像一个人的名字一样,隐居南山的人根本不要什么名字,但是出来办理暂住证、未婚证明、子女择校、购买菜刀则需要名字。

首先我们需要搞厘清HostName跟ServerName、Host、DomainName、uname(RedHat)区别,然后再看看HostName格式是个什么样子的。

一、HostName概念理解

Linux(Redhat)上相关配置主机名相关的文件如下:
/etc/sysconfig/network
/etc/hosts
/proc/sys/kernel/hostname,Debian上是/etc/hostname
下面分别看看。

1、/etc/sysconfig/network

RedHat5.4内容如下:
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
默认HostName是localhost.localdomain,一般相同类型、版本系统安装完成后的默认值都相同。实际应用需手动修改掉。

2、/etc/hosts

这个文件Linux和Windows都有,只供本机“向外访问”解析使用的,相当于本机的DNS,所以设置的所谓HostName其实并不能对外部生效。比如自己设置:
12.34.56.78 Gogo
执行ping Gogo会自动转向12.34.56.78,而别人的机子可能设置为:12.34.56.78 Yazi,则需要ping Yazi。
但是,/etc/rc.d/rc.sysinit启动初始化文件则会检查/etc/sysconfig/network的HostName,如果是默认值(Localhost或Localhost.localdomain),还会检查这个/etc/hosts是否设置了名称,如果设置了新的名称则会自动替换/etc/sysconfig/network。

3、/proc/sys/kernel/hostname

RedHat5.4上该文件则只有这么一句:
localhost.localdomain
所以默认这个名称跟/etc/sysconfig/network是相同的。相同的为什么还需要记在两个地方呢?(肯请网友指教),天缘理解是/proc/sys/kernel/hostname看名称是供内核使用的文件,可能只是的系统内核变量。而/etc/sysconfig/network则记录更多与网络有关的参数设置,比如上文的IPV6是否开启等。

二、如何查看和修改HostName

1、查看主机名称

查看HostName命令如下:
# uname -n
# hostname
# cat /proc/sys/kernel/hostname

2、修改主机名称

临时修改,重启丢失:
# hostname newhostname
临时修改立即生效。
永久修改HostName(假设设置主机名为www.):
# echo "HOSTNAME=www." >> /etc/sysconfig/network
# hostname "www."
上一句设置到文件永久修改,下一句临时修改,立即生效。这样修改后无需重启,因为临时修改和重启后配置相同。

三、HostName概念归纳

厘清这些概念,尽管有些概念之间风马牛不相及,但是他们都是Name:
HostName —— 上文介绍
ServerName —— 站在Client角度去称呼HostName
Host —— 主机统称
DomainName —— 域名,就像www.,给所有人及访客使用,DNS负责解析映射到IP。
uname —— Linux显示系统信息命令,具体可使用uname --help 查看。


    
[3]Linux命令判断CC攻击的几种常用方法
    来源: 互联网  发布时间: 2013-12-24

本文介绍Linux命令判断CC攻击的几种常用方法,紧急时刻非常实用的哦。

查看所有80端口的连接数
 

代码如下:
netstat -nat|grep -i “80″|wc -l

对连接的IP按连接数量进行排序
 

代码如下:
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n

查看TCP连接状态
 

代码如下:
netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn
netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’
netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}’
netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’
netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn
netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]‘ | sort | uniq -c

查看80端口连接数最多的20个IP
 

代码如下:
netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20

用tcpdump嗅探80端口的访问看看谁最高
 

代码如下:
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’ | sort | uniq -c | sort -nr |head -20

查找较多time_wait连接
 

代码如下:
netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20

查找较多的SYN连接
 

代码如下:
netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more

    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
sqlserver iis7站长之家
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3