一.Linux服务器所需要的软件及软件结构
1.SSH服务简介
SSH是一个应用程序中提供安全通信的协议,通过SSH可以安全地访问服务器,因为SSH 具有成熟的公钥加密体系,在数据进行传输时进行加密,保证数据在传输时不被恶意篡改、破坏和泄露。能有效防止网络嗅探和IP欺骗等攻击。
2.SSH服务的安装
① Linux下广泛使用免费的OpenSSH程序来实现SSH协议,确认系统是否已经安装了OpenSSH服务(默认是已经安装好的)
#rpm -q openssh-server
② 安装OpenSSH服务(CentOS4.5在第一张光盘)
#rpm -vih openssh-server-3.9p1-8.RHEL4.20.i386.rpm
3.SSH服务的配置
配置SSH服务的运行参数,是通过修改配置文件”/etc/ssh/sshd_config”来实现的。文件配置的选项非常多,但大部分的配置选项是”#”符合注释掉的,基本上保持默认就可以很好的工作了,下面是最常用的配置选项。
① #Port 22 Prot选项定义SSH服务监听的端口号,默认使用22号端口。
② #Protocol 2,1 Protocol定义了SSH服务器使用SSH协议的顺序,为了安全可以只使用SSH2协议。
③ #ListenAddress 0.0.0.0 ListenAddress选项定义了SSH服务器绑定的IP地址。
④ #PermitRootLogin yes PermitRootLogin选项定义了是否允许root管理员登录。
⑤ #PermitEmptyPasswords no PermitEmptyPasswords选项定义了是否允许空密码的用户登录,为了保证服务器的安全应该禁止空密码的用户登录。
⑥ #PasswordAuthentication yes PasswordAuthentication选项定义了是否使用口令认证方式,如果准备使用公钥认证方式就将其设置为你no,这样会更加安全。
4.停止和启动SSH服务
① 启动SSH服务的命令
#service sshd start
② 停止SSH服务的命令
#service sshd stop
③ 重新启动SSH服务的命令
#service sshd restart
④ 设置开机自动运行SSH服务
#chkconfig –livel 35 sshd on
二.Windows平台SSH客户端的使用
1. 以登录口令连接SSH服务器
① Windows下有很多的SSH客户端程序,这里使用PuTTY程序。
② 运行putty.exe文件,在PuTTY程序主界面的”Host Name”中输入服务器的IP地址或域名,在”Protocol”中选择”SSH”选项,然后单击”Open”按钮开始连接输入用户名和口令即可(图一)。
图一
2. 以公钥认证连接SSH服务器
① 在Linux服务器编辑文件”/etc/ssh/sshd_config”
#vi /etc/ssh/sshd_config
PasswordAuthentication yes(找到此行,将yes给为no)
注:通过上面的修改后,SSH服务器将不允许口令方式的登录,只能以公钥方式的认证,更加提高了安全性,就算有人获取SSH服务器的登录口令也不能通过SSH来远程登录。
② 运行puttygen.exe来产生密钥,在PuTTYgen程序主界面中的”Type of key generate:” 选择加密的算法,在”Number of bits in a generated key:”中输入加密的位数,一般选择默认的就可以了,不需要进行修改,然后单击”Generate”按钮开始生成密钥(图二)。
图二
③ 保存密钥,口令短语用来保护私钥,如果入侵者窃取了私钥但没有口令短语也不能使用该私钥,如果不需要只需将该项为空,最后分别单击”Save public key”和”Save private key”按钮将公钥和私钥保存为文本。本例将保存公钥的文件名为test1.pub,保存私钥的文件名为test2.ppk(图三)。
图三
④ 传输公钥文件到SSH服务器
为了让SSH服务器能读取公钥文件,还有将公钥文件传输到SSH服务器的用户主目录下的.ssh子目录中(如果没有.shh目录,可手工建立),因为公钥文件是可以公开给所有用户的,所以可以任何拷贝的方法。
⑤ 转换公钥文件格式
由于puttygen产生的公钥文件格式与OpenSSH程序使用的格式不兼容,因此还有在Linux中使用openssh软件包自带的ssh-keygen程序对其进行转换。
#ssh-keygen -i -f /root/.shh/test1.pub>/root/.shh/authorized_keys
⑥ 连接SSH服务器
⑴运行PuTTY程序,在”Host Name”中输入服务器的IP地址或域名(如192.168.194.70)
⑵选择对话框左边的”Category”窗口的”Connection”→”SSH” →”Auth”(图四)。
图四
⑶在”Private key file for authentication”输入框中输入私钥文件的路径(图五)。
图五
⑷PuTTY成功的连接到SSH服务器后,服务器会提示输入登录用户名。如果使用了保护的口令短语,则还会提示输入口令短语,在登录过程中,不需要输入用户的口令(图六)。
图六