linux服务之OpenSSH服务
一: 非对称加密方式原理:
1:传送方将数据用Hash算法得到报文摘要,用自己的私钥加密,得到数字签名。
2: 传送方用接收方的公钥将明文和数字签名进行加密,然后发送给接收方。
3:接收方收到加密报文,用自己的私钥解密得到数据和数字签名。
4:接收方用传送方的公钥解密数字签名,得到报文摘要,再用公开的Hash算法算出保报文的摘要,与传送方的对比,若果相同,证明真实,否则被篡改。
二: Open SSH 使用的就是非对称加密的方式,来进行远程控制。
SSH的密码验证过程
1:首先,客户端第一次连接,服务端将公钥发给客户端,存放在 ~/ssh/known_hosts 文件中。
2:客户端随机生成一个字符串,用服务器的公钥加密,传送给服务端。
3:服务端用自己的私钥解密,得到客户端的字符串,然后再次发送给客户端,验证服务器端的真假。
4:客户端通过用户和密码来验证自己的合法性。
SSH的公私钥对验证步骤:
1: 客户端使用ssh-genkey 生成一对公私钥。分别是 ~/ssh/id_rsa (私钥) ~/ssh/id_rsapub(公钥) 。
2:使用 ssh-copy-id root@1721611 将自己的公钥传送到服务器的 ~/ssh/authorized_keys 文件中,该文件在使用该命令的时候自动在服务端生成。文件中存放的是各个客户端的公钥的集合。
三:Open SSH的配置文件。
1: 客户端配置文件 /etc/ssh/ssh_config 基本上不用配置参数。
2:服务端配置文件 /etc/ssh/sshd_config
a 将PermitRootLogin 字段改为 no 则可以限制管理员使用SSH远程,可以提高安全性。
b port 字段可以改变sshd的侦听端口
3:客户端命令在 /usr/bin/ssh 服务端命令在 /usr/sbin/sshd
4:Windows的SSH远程管理软件有 SecureCRT 和 WinSCP
5: 在Windows系统中使用SecureCRT时,在服务器中安装一个lrzsz的rpm包,可以直接将文件从Windows中拖入到终端上传到服务器中。
,电脑群:189034526
Linux服务器端准备工作
首先需要在Linux服务器上安装openssh-server,打开Linux服务器命令行终端,键入下面命令
sudo apt-get install openssh-server1
修改Linux服务器的ssh配置文件
sudo gedit /etc/ssh/sshd_config1先使用”#”注释掉PermitRootLogin without-password
添加一行 PermitRootLogin yes
然后开启ssh服务
ps -e | grep ssh1
客户端准备工作
客户端既可以是Windows系统用户,也可以是Linux系统用户,下面我们就分别介绍这两种系统如何来连接Linux服务器
Ubuntu系统
一般情况下,Ubuntu系统都是自带了openssh-client,如果没有安装,在命令行键入下面
sudo apt-get install openssh-client1如果已经安装好了openssh-client,那么可以使用下面的命令连接服务器
ssh username@IP1这里的username是服务器的一个用户账号,IP也是服务器的IP地址
Windows系统
Windows平台下有许多提供ssh服务的软件,我们在这里使用Xshell 5软件
打开Xshell 5软件,点击左上角的新建
在主机处输入Linux服务器的IP地址,协议选择为ssh,端口号为22
点击确定按钮,再点击连接,此时会弹出一个交互窗口,输入服务器的一个账户和密码
数据传输
下面我们就分别介绍Windows和Linux两种系统如何与Linux服务器进行数据传输
Ubuntu系统
在于服务器连接正常后,再次打开一个命令行终端,键入以下命令,就可以将客户端数据传入服务器
scp /filename username@IP:/home/bio321/Desktop1也可以将服务器端的数据传入到客户端,键入以下命令
scp username@IP:/home/bio321/Desktop/filename /data 1Windows系统
在Linux服务器安装lrzsz,服务器端打开命令行,键入以下命令安装
sudo apt-get install lrzsz1将客户端数据传入服务端,服务端打开命令行,键入命令rz
将服务端数据传入客户端,服务端打开命令行,键入命令sz
服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-130 。
下载:http://wwwdangacom/memcached/dist/memcached-122targz
另外,Memcache用到了libevent这个库用于Socket的处理,所以还需要安装libevent,libevent的最新版本是libevent-13。(如果你的系统已经安装了libevent,可以不用安装)
官网:http://wwwmonkeyorg/~provos/libevent/
下载:http://wwwmonkeyorg/~provos/libevent-13targz
用wget指令直接下载这两个东西下载回源文件后。
1先安装libevent。这个东西在配置时需要指定一个安装路径,即/configure –prefix=/usr;然后make;然后make install;
2再安装memcached,只是需要在配置时需要指定libevent的安装路径即/configure –with-libevent=/usr;然后make;然后make install;
这样就完成了Linux下Memcache服务器端的安装。详细的方法如下:
1分别把memcached和libevent下载回来,放到 /tmp 目录下:
代码如下:
# cd /tmp
# wget http://wwwdangacom/memcached/dist/memcached-120targz
# wget http://wwwmonkeyorg/~provos/libevent-12targz
2先安装libevent:
代码如下:
# tar zxvf libevent-12targz
# cd libevent-12
# /configure –prefix=/usr
# make
# make install
3测试libevent是否安装成功:
代码如下:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11 12 17:38 libevent-12so1 - libevent-12so103
-rwxr-xr-x 1 root root 263546 11 12 17:38 libevent-12so103
-rw-r–r– 1 root root 454156 11 12 17:38 libeventa
-rwxr-xr-x 1 root root 811 11 12 17:38 libeventla
lrwxrwxrwx 1 root root 21 11 12 17:38 libeventso - libevent-12so103
还不错,都安装上了。
4安装memcached,同时需要安装中指定libevent的安装位置:
代码如下:
# cd /tmp
# tar zxvf memcached-120targz
# cd memcached-120
# /configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,
5测试是否成功安装memcached:
代码如下:
# ls -al /usr/local/bin/mem
-rwxr-xr-x 1 root root 137986 11 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11 12 17:39 /usr/local/bin/memcached-debug
基本使用
查看当前的memcache连接数:
代码如下:
[root@mem1 ~]# netstat -n | grep :11211 | wc -l
15752
查看默认允许的连接数:
代码如下:
[root@mem1 ~]# cat /etc/rclocal
#!/bin/sh
#
# This script will be executed after all the other init scripts
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff
touch /var/lock/subsys/local
/usr/local/bin/memcached -d -m 15360 -u root -l 17220154 -p 11211 -c 40960
/usr/local/bin/memcached -d -m 512 -u root -l 17220154 -p 11212 -c 10000
这里设置的11211端口默认连接数是40960
在网络上查到资料, Memcache也有自己的查看工具:
如何查看memcache服务器端版本: /memcached -h
memcache的运行状态可以方便的用 stats 命令显示。
首先用telnet 127001 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态。
这些状态的说明如下:
给虚拟机的Linux装一个ssh服务,开启之后再xp上用putty之类的ssh客户端访问。
当然还可以安装telnet服务,vnc服务等等,这些需要另外的客户端。
建议先提前了解所需的Linux命令,如下进行搜索
Linux服务器端准备工作
首先需要在Linux服务器上安装openssh-server,打开Linux服务器命令行终端,键入下面命令
sudo apt-get install openssh-server
修改Linux服务器的ssh配置文件
sudo gedit /etc/ssh/sshd_config
先使用”#”注释掉PermitRootLogin without-password
添加一行 PermitRootLogin yes
然后开启ssh服务
ps -e | grep ssh
本地传文件到linux服务器报connectionreset解决方法如下。
1、服务器端因某种原因关闭了Connection,而客户端依然在读写数据,此时服务器会返回复位标志RST。
2、客户端发送syn包(syn等于j)到服务器,并进入SYNSENT状态,等待服务器确认。
3、服务器收到syn包,并会确认客户的SYN(ack等于j加1),同时自己也发送一个SYN包(syn等于k),即SYN加ACK包,此时服务器进入SYNRECV状态。
4、客户端收到服务器的SYN加ACK包,向服务器发送确认包ACK(ack等于k加1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态。
很多人都认为Linux服务器具有最好的生态系统,服务器端的各种软件都为它而设计。Linux系统之所以会成为目前最受关注的系统之一,主要原因是它的免费,以及系统的开放性,可以随时取得程序的原代码,这对于程序开发人员是很重要的。除了这些它还具有以下的优势:
Linux服务器优势1:良好的稳定性
Linux内核的源代码是以标准规范的32位(在64位CPU上是64位)的计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux的稳定,才使得一些安装Linux的主机像Unix机一样常年不关而不曾宕机。
Linux服务器优势2:丰富的软件支持
与其他的操作系统不同的是,安装了Linux系统后,用户常用的一些办公软件、图形处理工具、多媒体播放软件和网络工具等都已无需安装。而对于程序开发人员来说,Linux更是一个很好的操作平台,在Linux的软件包中,包含了多种程序语言与开发工具,如gcc、cc、C++、Tcl/Tk、Perl、Fortran77等。
Linux服务器优势3:可靠的安全性
Linux系统是一个具有先天病毒免疫能力的操作系统,很少受到病毒攻击。
对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。不过,利用Linux自带防火墙、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘。
Linux服务器优势4:完善的网络功能
Linux内置了很丰富的免费网络服务器软件、数据库和网页的开发工具,如Apache、Sendmail、VSFtp、SSH、MySQL、PHP和JSP等。近年来,越来越多的企业看到了Linux的这些强大的功能,利用Linux担任全方位的网络服务器。
Linux服务器优势5:多用户多任务
和Unix系统一样,Linux系统是一个真正的多用户多任务的操作系统。多个用户可以各自拥有和使用系统资源,即每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响,同时多个用户可以在同一时间以网络联机的方式使用计算机系统。多任务是现代计算机的最主要的一个特点,由于Linux系统调度每一个进程是平等地访问处理器的,所以它能同时执行多个程序,而且各个程序的运行是互相独立的。
Linux服务器优势6:跨平台的硬件支持
由于Linux的内核大部分是用C语言编写的,并采用了可移植的Unix标准应用程序接口,所以它支持如i386、Alpha、AMD和Sparc等系统平台,以及从个人电脑到大型主机,甚至包括嵌入式系统在内的各种硬件设备。
Linux在它的追捧者眼里是一个近乎完美的操作系统,它具有运行稳定、功能强大、获取方便等优点,因而有着广阔的前景。只要你不是有什么特殊的需求,那么你就可以采用Linux系统。可参考书籍《Linux就该这么学》了解更多Linux知识。
0条评论