Linux下的SSH使用指南

时间:2007-07-08 19:32:05   来源:  作者:  点击:次  出处:技术无忧
关键字:SSH Linux 安全

  分发公用密匙

  在每一个你需要用SSH连接的远程服务器上,你要在自己的家目录下创建一个“.ssh”的子目录,把你的公用密匙“identity.pub” 拷贝到这个目录下并把它重命名为“authorized_keys”。然后执行:

  chmod 644 .ssh/authorized_keys

  这一步是必不可少的。如果除了你之外别人对“authorized_keys”文件也有写的权限,SSH就不会工作。

  如果你想从不同的计算机登录到远程主机,“authorized_keys”文件也可以有多个公用密匙。在这种情况下,必须在新的计算机上重新生成一对密匙,然后把生成的“identify.pub”文件拷贝并粘贴到远程主机的“authorized_keys”文件里。当然在新的计算机上你必须有一个帐号,而且密匙是用口令保护的。有一点很重要,就是当你取消了这个帐号之后,别忘了把这一对密匙删掉。

配置SSH

  配置客户端的软件

  
 
 
  
  OpenSSH有三种配置方式:命令行参数、用户配置文件和系统级的配置文件(“/etc/ssh/ssh_config”)。命令行参数优先于配置文件,用户配置文件优先于系统配置文件。所有的命令行的参数都能在配置文件中设置。因为在安装的时候没有默认的用户配置文件,所以要把“/etc/ssh/ssh_config”拷贝并重新命名为“~/.ssh/config”。

  标准的配置文件大概是这样的:

  [lots of explanations and possible options listed]
  # Be paranoid by default
  Host *
  ForwardAgent no
  ForwardX11 no
  FallBackToRsh no

  还有很多选项的设置可以用“man ssh”查看“CONFIGURATION FILES”这一章。

  配置文件是按顺序读取的。先设置的选项先生效。

  假定你在www.foobar.com上有一个名为“bilbo”的帐号。而且你要把“ssh-agent”和“ssh-add”结合起来使用并且使用数据压缩来加快传输速度。因为主机名太长了,你懒得输入这么长的名字,用“fbc”作为“www.foobar.com”的简称。你的配置文件可以是这样的:

  Host *fbc
  HostName www.foobar.com
  User bilbo ForwardAgent yes
  Compression yes
  # Be paranoid by default
  Host * ForwardAgent no
  ForwardX11 no
  FallBackToRsh no

  你输入“ssh fbc”之后,SSH会自动地从配置文件中找到主机的全名,用你的用户名登录并且用“ssh-agent”管理的密匙进行安全验证。这样很方便吧!

  用SSH连接到其它远程计算机用的还是“paranoid(偏执)”默认设置。如果有些选项没有在配置文件或命令行中设置,那么还是使用默认的“paranoid”设置。

  在我们上面举的那个例子中,对于到www.foobar.com的SSH连接:“ForwardAgent”和“Compression”被设置为“Yes”;其它的设置选项(如果没有用命令行参数)“ForwardX11”和“FallBackToRsh”都被设置成“No”。

  其它还有一些需要仔细看一看的设置选项是:

  l CheckHostIP yes

  这个选项用来进行IP地址的检查以防止DNS欺骗。

  l CompressionLevel

  压缩的级别从“1”(最快)到“9”(压缩率最高)。默认值为“6”。

  l ForwardX11 yes

  为了在本地运行远程的X程序必须设置这个选项。

  l LogLevel DEBUG

  当SSH出现问题的时候,这选项就很有用了。默认值为“INFO”。

  配置服务端的软件

  SSH服务器的配置使用的是“/etc/ssh/sshd_config”配置文件,这些选项的设置在配置文件中已经有了一些说明而且用“man sshd”也可以查看帮助。请注意OpenSSH对于SSH 1.x和2.x没有不同的配置文件。

  在默认的设置选项中需要注意的有:

  l PermitRootLogin yes

  最好把这个选项设置成“PermitRootLogin without-password”,这样“root”用户就不能从没有密匙的计算机上登录。把这个选项设置成“no”将禁止“root”用户登录,只能用“su”命令从普通用户转成“root”。

  l X11Forwarding no

  把这个选项设置成“yes”允许用户运行远程主机上的X程序。就算禁止这个选项也不能提高服务器的安全因为用户可以安装他们自己的转发器(forwarder),请参看“man sshd”。

  l PasswordAuthentication yes

  把这个选项设置为“no”只允许用户用基于密匙的方式登录。这当然会给那些经常需要从不同主机登录的用户带来麻烦,但是这能够在很大程度上提高系统的安全性。基于口令的登录方式有很大的弱点。

  l # Subsystem /usr/local/sbin/sftpd

  把最前面的#号去掉并且把路径名设置成“/usr/bin/sftpserv”,用户就能使用“sftp”(安全的FTP)了(sftpserv在sftp软件包中)。因为很多用户对FTP比较熟悉而且“scp”用起来也有一些麻烦,所以“sftp”还是很有用的。而且2.0.7版本以后的图形化的ftp工具“gftp”也支持“sftp”。

拷贝文件

  用“scp”拷贝文件

  SSH提供了一些命令和shell用来登录远程服务器。在默认情况下它不允许你拷贝文件,但是还是提供了一个“scp”命令。

   
  
 

本文转自 技术无忧网 网址http://www.pc51.net 访问技术无忧网,软硬件通吃保你技术无忧!


文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

300x250广告位招租