今天是: 收藏本站 设为主页
网站首页 >  技术专栏  >  linux  > 

OpenSSH 高级教程

日期:2011-03-14  点击率:4106



 简介

这篇指南在Ubuntu OpenSSH的默认配置基础上,着重介绍了能够大幅增加安全性的高级配置技巧。它详细论述了两方面内容:

  1. 服务器端的特定配置方式;
  2. 通过与明文密码相比较,阐述了利用Rivest Shamir Adleman (RSA) 算法(注1)生成密钥登陆 OpenSSH 服务器的过程。


目标读者

为了能够更好的使用本教程 ,读者应该是一个善于使用命令行程序的Ubuntu用户,能够使用bash环境,并能够在基于控制台的文本编辑器中编辑系统配置文件。另外,读者应该知道如何启动和关闭系统守护进程,并且对OpenSSH程序的安装方式和使用目的有一个大致的了解。



关于 OpenSSH

OpenSSH是安全Shell协议族(SSH)的一个免费版本。SSH协议族可以用来进行远程控件, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议), rcp(注2)都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程的中的数据,并由此来代替原来的类似服务。



OpenSSH 服务 (sshd)

OpenSSH服务,sshd,是一个典型的独立守护进程(standalone daemon),但也可以根据需要通过网络守护进程(Internet Daemon)-inetd(注3)或Ineternet Daemon's more modern-xinted(注4)加载。OpenSSH服务可以通过/etc/ssh/sshd_config文件进行配置。本章将介绍此配置文件中的默认配置,并说明如何修改这些配置来提高sshd的安全性。本章的行文方式为:先使用斜体字简单说明默认设置(如:Port 22), 然后在下一行中使用粗体字 (如:Protocol 2)介绍为了增强安全防护而作的修改。

在改变您的sshd配置文件之前,请先备份您的/etc/ssh/sshd_config文件,在终端(shell)中输入下列命令:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

如果这个文件不存在,证明您还没有安装OpenSSH,请通过软件仓库安装OpenSSH-server程序。注意,在/etc/ssh/文件夹下还有一个ssh_conf文件,它是SSH客户端的配置文件,在此请不要修改它。

如果您愿意,您可以使用下面的命令保护您的配置文件不会被意外的修改。

sudo chmod a-w /etc/ssh/sshd_config.original

以这种方式备份配置文件是管理您的Ubuntu GNU/Linux系统的最好方法。如果当您需要将应用程序恢复到默认配置或者当您因为操作失误或配置文件修改错误而导致应用程序不能运行的时候,您可以很方便的进行操作。

如果您已经保存好了您的/etc/ssh/sshd_config文件,你就可以放心的实验本教程中所提到的配置方法了。当您修改完配置文件后,您必须保存/etc/ssh/sshd_config文件,并使用下面的命令重新启动sshd,才能使更改结果起作用:

sudo /etc/init.d/ssh restart




下一篇:RSYNC的简单配置    上一篇:ubuntu Pure-ftpd服务安装设置