当前位置:Linux教程 - Linux资讯 - OPENSSH的安装和配置

OPENSSH的安装和配置

  OPENSSH的安装和配置 一、 概述 传统的远程网络访问服务在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,很容易被截获,其安全验证方式也容受到中间人的攻击。通过使用OPENSSH,你可以把所有传输的数据进行加密。 SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。它需要不同的客户端。OPENSSH同时支持SSH1和SSH2。 二、 OPENSSH的安全验证方式 OPENSSH提供两种级别的验证方式: 1、 基于口令的安全验证:只要你知道服务器上的帐号和口令,那么你可以登录到远程主机上。口令和数据在传输过程中都会被加密。 2、 基于密钥的安全验证:采用此方式验证你必须在远程服务器上为自己创建一对密钥(不对称密钥对),把公有密钥放在远程服务器上自己的宿主目录中。而私有密钥则由自己保存。 三、 所需软件 openssl-0.9.5a.tar.gz 下载网址:http://www.openssl.org openssh-2.5.2p2.tar.gz 下载网址:http://www.openssh.org 四、 安装步骤 下面的安装选项根据你自己的情况可适当调整,如果有不明白的地方可以参考README、INSTALL文档。此文环境假定所有源文件都在/var/tmp下: 4. 1安装OPENSSL [root@mail tmp]tar xzpf openssl-0.9.5a.tar.gz [root@mail tmp]cd openssl-0.9.5a [root@mail openssl-0.9.5a]./config –t [root@mail openssl-0.9.5a]./config --prefix=/usr --openssldir=/etc/ssl 编辑Makefile.ssl文件更改MANDIR=$OPENSSL/man为MANDIR=/usr/man。 [root@mail openssl-0.9.5a]make [root@mail openssl-0.9.5a]make test [root@mail openssl-0.9.5a]make install [root@mail openssl-0.9.5a]cd .. [root@mail tmp]rm –rf openssl* 4.2 安装OPENSSH 在安装OPENSSL之前确认你的系统中已安装了zlib库,可用下面的命令来检查一下,若没有不要的犹豫,它就在你的系统安装光盘中,马上安装吧! [root@mail tmp]rpm –qi zlib [root@mail tmp]tar xzpf openssh-2.5.2p2.tar.gz [root@mail openssh-2.5.2p2]./configure \ >--prefix=/usr \ >--sysconfdir=/etc/ssh \ >--with-tcp-wrappers \ >--with-ipv4-default \ >--with-ssl-dir=/usr/include/openssl [root@mail openssh-2.5.2p2]make [root@mail openssh-2.5.2p2]make install [root@mail openssh-2.5.2p2]install –m 644 contrib/redhat/sshd.pam \ /etc/pam.d/sshd [root@mail openssh-2.5.2p2]cd .. [root@mail tmp]rm –rf openssh* 五、 配置OPENSSH 5.1 在inetd服务器中起动SSHD守护程序只需加入下面一行(建议在起动TELNET守护程序这一行更改,以完全代替TELNET): ssh stream tcp nowait root /usr/sbin/tcpd sshd –I 5.2 SSH客户端配置文件/etc/ssh/ssh_config,一般情况下我们在多使用WINDOWS平台的客户端,此配置文件只有客户端不指定任何参数的情况下才使用,其内容如下: # $OpenBSD: ssh_config,v 1.9 2001/03/10 12:53:51 deraadt EXP $ Host * ForwardAgent no ForwardX11 no RhostsAuthentication no RhostsRSAAuthentication yes RSAAuthentication yes PassWordAuthentication no
[1] [2] [3] 下一页 

FallBackToRsh no UseRsh no BatchMode no CheckHostIP yes StrictHostKeyChecking yes IdentityFile ~/.ssh/identity IdentityFile ~/.ssh/id_dsa IdentityFile ~/.ssh/id_rsa1 IdentityFile ~/.ssh/id_rsa2 Port 22 Protocol 2,1 Cipher blowfish EscapeChar ~ 5.3 SSH服务器端配置文件/etc/ssh/sshd_config,关于下面各个参数的含义请参考使用手册,此例中使用第二种认证方式(基于密钥的认证)以提高安全性。 # $OpenBSD: sshd_config,v 1.34 2001/02/24 10:37:26 deraadt Exp $ Port 22 #Protocol 2,1 #ListenAddress 0.0.0.0 #ListenAddress :: HostKey /etc/ssh/ssh_host_key HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key ServerKeyBits 768 LoginGraceTime 600 KeyRegenerationInterval 3600 PermitRootLogin without-password # # Don't read ~/.rhosts and ~/.shosts files IgnoreRhosts yes # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes StrictModes yes X11Forwarding no X11DisplayOffset 10 PrintMotd yes KeepAlive yes # Logging SyslogFacility AUTH LogLevel INFO #obsoletes QuietMode and FascistLogging RhostsAuthentication no # # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts RhostsRSAAuthentication no # RSAAuthentication yes # To disable tunneled clear text passwords, change to no here! PasswordAuthentication no PermitEmptyPasswords no # Comment to enable s/key passwords or PAM interactive authentication # NB. Neither of these are compiled in by default. Please read the # notes in the sshd(8) manpage before enabling this on a PAM system. ChallengeResponseAuthentication no # To change Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #AFSTokenPassing no #KerberosTicketCleanup no # Kerberos TGT Passing does only work with the AFS kaserver #KerberosTgtPassing yes #CheckMail yes #UseLogin no #MaxStartups 10:30:60 #Banner /etc/issue.net #ReverseMappingCheck yes #Subsystem sFTP /usr/libexec/sftp-server 六、 生成认证密钥 当采用密钥认证方式时,第个用户在远程服务器上必须生成自己的密钥;下面我们就以实例的方式叙述此过程: 6.1 为服务器上的用户robin生成rsa1认证密钥: [root@mail tmp]su robin [root@mail tmp]ssh-keygen
上一页 [1] [2] [3] 下一页 

此命令运行时将会提示你密钥的存放位置,直接回车;在提示你输入passphrase时建议你输入一个不短于10个字符的英文句子,以防止你的私有密钥被别人盗用。它会在当前用户的个人目录个生成两个文件: ~/.ssh/identify robin的私有密钥 ~./ssh/identify.pub robin的公用密钥 6.2 不要忘记idnentify.pub更名: [root@mail .ssh]mv identify.pub authorized_keys 6.3 拷贝文件到安全的地方,在服务器上你的宿主文件夹中删除identify文件。 七、 使用PuTTY客户端登录 终于到检验我们工作结果的时候了,在WINDOWS平台的SSH客户端我推荐使用Putty,很好用,不像其它一些客户端只支持基于口令的安全验证;你可以在这里下载: http://www.chiark.greenend.org.uk/~sgtatham/putty.Html. 在连接服务器时不要忘记在connect->SSH中指定你的私有密钥的存放位置,输入创建密钥时的passphrase,如果不出意外你就可以安全地行程控制你的服务器了。

(出处:http://www.sheup.com)


上一页 [1] [2] [3] 

~/.ssh/identify robin的私有密钥 ~./ssh/identify.pub robin的公用密钥 6.2 不要忘记idnentify.pub更名: [root@mail .ssh]mv identify.pub authorized_keys 6.3 拷贝文件到安全的地方,在服务器上你的宿主文件夹中删除identify文件。 七、 使用PuTTY客户端登录 终于到检验我们工作结果的时候了,在WINDOWS平台的SSH客户端我推荐使用Putty,很好用,不像其它一些客户端只支持基于口令的安全验证;你可以在这里下载: http://www.chiark.greenend.org.uk/~sgtatham/putty.html. 在连接服务器时不要忘记在connect->SSH中指定你的私有密钥的存放位置,输入创建密钥时的passphrase,如果不出意外你就可以安全地行程控制你的服务器了。

(出处:http://www.sheup.com/)


上一页 [1] [2] [3] [4]