分类: LINUX
2008-11-19 21:13:13
许多远程登录程序,比如,telnet、rsh、rlogin 和 rexec 等都使用明文的方式来传送密码和信息。任何连接到网上的电脑都可以通过软件监听这些程序和服务器之间的通信,轻易地获取密码和重要信息。因此,给系统带来不少安全危机。
然而,远程登录对于网管日常的管理工作是必不可少的,SSH2 可以让登录更安全。
一、telnet 的替代方案
SSH(Secure Shell)会在连接过程中采用主机支持的加密认证方式,使登录过程的保密性大大
提高。即使黑客中途拦截到数据包,所得到的信息也仅是一堆乱码而已。因此,使用 SSH 做远程登录,
减少了黑客入侵的可能性。建议尽量用这种方式来远程管理主机,同时,把 telnet 的端口关掉。
目前广泛使用的是 SSH2,它使用 22 端口。到 、 或 上都可以下载 SSH2 的安装包。
要获得更多有关 SSH2 的信息,可以阅读随安装软件包附带的 Readme 文件,或者到官方 FAQ 链接 上阅读相关内容。
二、安装 SSH2
用下列命令将 SSH2 软件包解压缩,并编译、安装:
#tar xvzf ssh*.gz
#cd ssh-2.4.0
#./configure --with-libwrap
#make
#make install
如果操作系统是 FreeBSD,要把 configure 命令后面的“--with-libwrap”参数去掉,否则,
编译时会发生错误。
将“/usr/local/sbin”和“/usr/local/bin”加入.bash_profile 文件的路径中,这样安装
时就会把程序放在这两个目录下。
三、启动 SSH 服务
1.使用 inetd
使用 inetd 启动 SSH 服务,需要在/etc/inetd.conf 文件中加入以下代码:
ssh stream tcp nowait root /usr/sbin/tcpd /usr/local/sbin/sshd2 -i
然后用以下命令重新启动 inetd:
#/etc/rc.d/init.d/inet restart
2.使用 xinetd
使用 xinetd 启动 SSH 服务,需要创建/etc/xinetd.d/ssh 文件,内容如下:
service ssh
{
socket_type= stream
protocol= tcp
wait= no
user= root
server= /usr/local/sbin/sshd2
server_args= -i
disable= no
}
同样也需要重新启动 xinetd:
#/etc/rc.d/init.d/xinetd restart
3.inetdconvert 程序
可以利用 xinetd 所附带的 inetdconvert 程序将 inetd.conf 中的 SSH 设置转换成 xinetd 的
配置文件/etc/xinetd.d/ssh。命令格式如下:
#/usr/sbin/inetdxconvert --inetdfile inetd.conf ssh
inetdconvert 程序十分方便,但是,它是用 Python Script 语言编写的,因此,主机中必须装
有 Python 才行。
四、使用方法
1.设定权限
编辑/etc/hosts.allow 文件,加入允许远程登录的 IP 地址。比如:
sshd2 : 192.168.1.0/255.255.255.128 : allow
编辑/etc/hosts.deny 文件,加入如下内容:
sshd2 : All : deny
这样,就只允许/etc/hosts.allow 文件中设定的 IP 进行登录,让 SSH2 更加安全。
2.用命令行登录
一种登录命令的格式如下:
ssh2 -l 账号 主机域名(或 IP 地址)
比如,用 root 用户登录到 IP 为 192.168.1.1 的主机,命令如下:
ssh -l root 192.168.1.1
在通过系统的密码验证后,即可登录主机,其操作方式和 telnet 很相似。
还可以用如下命令进行登录:
sftp 账号@主机或 IP
用 root 用户登录 IP 地址为 192.168.1.1 的服务器,命令如下:
sftp root@192.168.1.1
这种操作方式和 FTP 很相似。
3.在 Windows 系统下使用
在 Windows 平台 上有 很 多好 用的 免费 SSH 客户 端软件, 比如, Putty 、 Tera Term Pro 和
TTSSHd 等。
下载链接分别为
http:// org.uk/~sgtatham/putty.html