我用下面的介绍在REDHAT. 9 上安装了SSH3.2.3..9,但是我添加一个用户后就不能登录啦?请高手帮忙啊.投资
(---useradd .-s /bin/ssh-dummy-shell -g test t.est---) 女人
----------------.------------------------------------.-------------------.------ 杀毒
缝制网络“安全外壳”
-----------------------------------.-------------------.---------.-------------- 美容
SSH最初是由程序员Tatu Yloenen开发,包括SSH协议和服务软件,.英文全称为Secure Shell(即安全.外壳)。它实现了密钥交换协议及主机和客户端认证协议,在传.送数据时把所有数据都加密传输,在接收方再进行解密,以防止网络窃听的发生。.
SSH已经有了很多商品化版本,而且还有多种Unix/Linux系统平台上的免费版本。本文将主要以L.inux操作系统为服务器(在其它的Unix或Unix的派生操作系统上的操作也一样),W.indows操作系统为客户端.,介绍免费的商业SSH版本的安装及其实现。其重.点是Linux服务器的配置。域名
软件的获得和安装
软件的获得可从
http://www.openssh.org下载OpenSSH,当前最新版本为3.6.1,或者从
http://www.ssh.com/ 下载针对Linux的非商业版本,当前最新版本为3.2,具体地址为:虚拟主机
SSH服务器地址
http://www.ssh.com/support/downloads/secureshellserver/non-commercial.html.SSH客户端地址
http://www.ssh.com/support/downloads/secureshellwks/non-commercial.html(这是一个For Windows的版本)。电脑
不管是O..penSSh还是SSH Com.munications Security公司的SSH版本,在使用功能上基本一样,只是前者完全免费,而后者使用时要注意许可协议。从使用角度上可考虑,笔者认为后者更好用一些。本文着重介绍后者的安装和使用。 健康
从SSH Communications Security公司下载的SSH服务器是源代码方式,..文件名为ssh-3.2.3.tar.gz,必须对其进行编.译和安装之后才能够使用。 汽车
我们假设软件的下载目录为root用户的宿主目录,即“/.root”目录。解压缩.完成后会生成一个“ssh-3.2.3”的源代码目录,然后切换到源代码代码目录,进行软件安装前的配置.,编译和安装。 女人
安装成功后,.在“/etc/”目录下会增加一个“ssh2”目录,这个目录是用来存放SSH服务器的所有配置文件;在“/usr/local/”目录下会生成.“ssh3.2.3”子目录,它是SSH.程序文件和其它文件的存放位置。.
基本配置和应用
默认安装,每次重新启动系统后都要重复上述操作才能启动SSH服务器。为.了保证SSH服务器每次开机时自动启动,还要在.“/etc/rc.d/rc.local”文件(此文件类似于DOS下的autoexec.bat文件令)的最后加.入以下内容:健康
#start ssh3.2
/us.r/local/ssh2/sbin/sshd .&--- 印刷
其中第一行为注释内容.,第二行为启动SSH服务器并作为后台守.护进程运行。 美容
接下来要做的是配置SSH服务器,所有的配置都是通过修改“/etc/ssh2/sshd2_co.nfig”文件实现的。文件的默认配.置已经能满足一般的要求。下面介绍几.种比较常见的应用:.
使超级用.户root能够直接登录服务器投资
使用Telnet时root用户默认情况下不能直接从.远程登录系统,一般要先以普通用户登录,然后,.使用su切换到root身份,这也是出于安全性的考虑。由于SSH使用了加密方式传输数据,所以可以放心地直接使用root登录服务器.,那么我们需.要将sshd2_config文件中的--- 印刷
#PermitRootLogi.n yes( 游戏 )
取消注释,然后,重新启动SSH.服务器,即可通过.SSH以root身份登录Li.nux服务器。当然,如果您要禁止超级用户登录的话,可将“yes”改为“no”即可。 电子
允许或禁止某.些用户或组用户使用SSH登录.
要实现禁.止用户或组使用SSH登录服务器,只需要修改sshd2_con.fig文件中的以下几行内容:服务器
#.AllowUsers. sj.*,s[[]]*,s(jl|amza) 电子
#Den.yUsers skuuppa,warezdude,31373.教育
#DenyU..sers don@untrusted\.org.
#.AllowGroups staff,users域名
#DenyGroups. gue.st,anonymou.
可以根据自己的实际需要,取消注释符“#”,加入实.际的用户名.或者组名,然后重新启动SSH服务器即可禁止(或允许)某些用户或者组使用.SSH,具体操作这里不再详述。.
使用SFTP代替FT.P传输文件 汽车
FTP(文件传输协议)是一种使用非.常广泛的在网络中传输文件的方式,但是,它也同样存在被网络窃听的危险,因为它也是以明文传送用户认证信息。其实在SSH软件包中,.已经包含了一个叫作SFTP(Secure F.TP)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程.(端口号默认是22)来完成相应的连接.操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传.输效率..比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。若要开启SFTP功能可以修改sshd2_config文件的下列内容:健康
# . subsystem-sftp sftp-serv.er( 游戏 )
去掉行首的“#”,然后重新启动.SSH服务器,这样.在进行SSH连接时就可以同时使用SFTP传输文件。.
关于客户端设置
以上是对服务器的设置,其实在SSH.服务器中已经包含了一些客户端工具(如SSH,SFTP工具.)。但是,更多的客户端用户使用Wind.ows系统,下面就对Windows上的客户端系统设置加以说明。 女人
首先从上文给出的网址下载“SSHSecureShellClient.-3.2.3.exe”文件并安装。安装完成.后,在桌面上会产成两个快捷方式,一个是“.SSH Secure Shell Client”,用于远程管理,另一个.是“SSH Secure Fil.e Transfer Client”,用于和服务器进行文件传输。在工具栏中点击“quick connnect”,输入正确的主机名和用户名,然后在弹出.的对话框中输入密码完成登录,即可开始执行命令或者传输文件。在使用SFTP时,默认只能显示用户的宿主目录的内容和非隐藏文件。但是,有时候您可能还要查看其它目录或者隐藏文件,这时只需要在菜单“ei.dt->;setting->;file transfe..r”的选项中选中“show root directory”和“show hidden file”两个选项即可。.
使普通用户仅使用SFTP而没有使用Shell的权.限<性病>
默认情况下管理员给系统添加的账号将同时具有SFTP和SSH的权限。让普通用户使用shell执行命令也是有很大的.安全隐患的,如果能够禁止用户使用shell执行命令而仅使用S.FTP传输文件,就能消除这种安全隐患,完全实现FTP.的功能, 建材
正如上文所述,SFTP没有单独的守护进.程,只能借助于sshd守护进程,所以我们仍然需要使用SSH服.务器,要保.证sshd守护进程处于运行状态。具体实现方法如下:<性病>
首先,在编译安装时,编译.中一定要有“--enab.le-static” 选项。安装成功后,在安装目录下的bin目录中执行下面的命令:
[
root@localh.ost bin]# ls -l . ssh-dummy-shell* sftp-server2* 杀毒
将看到下列输出内容:
-rwxr-xr-x 1 root r.oot 1350417 Apr 28. 16:30 sftp-server2 乙肝
-.rwxr-xr-x 1 root root 3566890 Apr 28 16:30 sftp-server2.stati.c--- 印刷
-rwxr-.xr-x 1 root root 72388 Apr 28 16:30 ssh-dum.my-shell.
-.rwxr-xr-x 1 root root 1813412 Ap.r 28 16:30 ssh-dummy-shell.static健康
其中带“static”后缀名,且比较大的.两个.文件就是加上“--enable-static”选项后生成的,后面我们将用到这里两个文件。电影
下面以添加普通账.号test为例讲述具体操作步骤。 美容
1.在“/home”目录(或者将要存放普通用户宿主目录的目录)下创建“bin”子目录,并将两个static文件复制到此目录下(复制后改.名去掉static.后缀),执行.如下命令:(广告)
[
root@localh.ost bin]# cd /.usr/local/ssh3.2/bin 鲜花
[r.oot@localhost bin]#cp ssh-dummy-shell.static /home/bin/ssh-.dummy-shell(广告)
[root@localhost bin.]# cp sftp-server2..static /home/bin/sftp-server 美容
[root@localhost bin]#chown -R root.r..oot /home/bin学习
[
root@loc.alh.ost bin]#chmod -R 755 /home/bin学习
2.添加一个组,使以后所有.禁止使用.shell的用户都属于这个组,这样便于管理更多的用户:( 游戏 )
[
root@localho.st bin]#groupadd template. 健康
3.在添加系统账号时使用如.下命令:投资
[root@localhost roo.t]#useradd -s /bin/ssh-d.ummy-shell -g template test 汽车
[.root@localho.st root]#passwd test 美容
[
root@lo.calhost. root]#mkdir /home/test/bin.
[root@localhost root]#cd /ho.me/test/bin.电脑
[
root@local.host bin]#ln /home/bin/ssh-dummy-shell ssh-dummy-s.hell.
[root@.localhost bin]#ln /home/bin/sftp-server sf.tp-server 汽车
[root@localhos.t bin.]#chown -R root.root /home/test/bin.
[
root@l.ocalhost bin]#chmod -R 755 /home/test/bi.n
3.用户添加成功.后,还需要修改/etc/ssh2/sshd2_config文件,将下列内.容: 美容
#ChRootGr.oups sftp,guest 外汇
改为:
ChRootGroups sftp,gue.st,t.emplate电脑
修改上面这行内容,主要是为了禁止普通用户查看系统的其它目录,把其.权限限制在自己的主目录下。重新启动.SSH服.务器程序,在客户端使用SSH Secure File Transfer Client登录,即使选择显示根目录,普通用户.也看不到其它的任何目录,而是把自己的主目录当作根目录。注意,这里使用的是按用户所属组限制,这样可以.使包含在template组内的所有用户都可以实现此功能。若您只要限制个别用户的话,可以修改下面的内容:.
#.ChRootUsers .anonymous,ftp,guest电影
事实证明SSH是一种非常好的网络安全解决方案,但是,.目前仍有很多管理员使用Telnet或FT.P这种非常不安全的.工具,希望尽快转移到SSH上来,以减少网络安全隐患。.
-------------------------.------------------------.----------.------------------学习
我用上面的介绍在REDHAT 9 上安装了SSH3.2.3.9,但是我添加一个用户后就不能登录啦?请高手帮.忙啊.. 外汇
(---useradd -s /bin/ssh-dummy-sh.ell -g t.est test---).