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 [email protected]:/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 [email protected]:/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 ~]#

linux 硬盘格式化、挂载、卸载命令

linux系统硬盘格式化,mkfs.ext3 /dev/hdb1
 硬盘挂载 mount -t ext3 /dev/sdb /home/
 卸载硬盘分区 umount /dev/sdb
修改/etc/fstab 系统启动时,自动挂载硬盘。

安装DenyHosts防止ssh密码被爆破

wget -c http://sourceforge.net/projects/denyhosts/files/denyhosts/2.6/DenyHosts-2.6.tar.gz/download
tar -zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
python setup.py install
cp -f /usr/share/denyhosts/denyhosts.cfg-dist /usr/share/denyhosts/denyhosts.cfg
cp -f /usr/share/denyhosts/daemon-control-dist /usr/share/denyhosts/daemon-control
chown root /usr/share/denyhosts/daemon-control
chmod 755 /usr/share/denyhosts/daemon-control
ln -s /usr/share/denyhosts/daemon-control /etc/init.d/denyhosts
chkconfig --level 345 denyhosts on
service denyhosts start

命令行导入MySQL数据库

导入MySQL数据库可使用source命令:
1、进入数据库控制台:mysql -u*** -p (会提示输入超级用户密码)
2、新建一个数据库:create database name
3、导入已备份好的名字假设为db_name.sql的数据库文件:source [path]/db_name.sql
在我机器上测试项目论坛的数据库文件,发现使用# mysql -uroot -p database < database.sql出现问题,而上述方法可行!

Linux统计目录下文件个数

Linux下没有专门的语句对文件个数进行统计,但是可以通过语句组合来实现

方法1:

# ls -l | grep "^-" | wc -l

其中,"^-" 是过滤出以"-"开头的记录,表示是文件而不是目录,目录用"^d"
wc -l 是统计出输出信息的行数,一行信息对应一个文件,所以得出文件数

# ls -lR | grep "^-" | wc -l

可以统计出包括子目录文件的个数

方法2:

# find /***/*** -type f | wc -l

可以统计指定目录下所有文件个数,包括子目录

Linux上iptables基础应用

Linux上iptables防火墙的基本应用解说 iptables是Linux上常用的防火墙软件,下面vps侦探给大家说一下iptables的安装、清除iptables规则、iptables只开放指定端口、iptables屏蔽指定ip、ip段及解封、删除已添加的iptables规则等iptables的基本应用。 关于更多的iptables的使用方法可以执行:iptables --help或网上搜索一下iptables参数的说明。 1、安装iptables防火墙
如果没有安装iptables需要先安装,CentOS执行: yum install iptables
Debian/Ubuntu执行: apt-get install iptables
2、清除已有iptables规则
iptables -F
iptables -X
iptables -Z
3、开放指定的端口

阅读剩余部分...