安装和配置OPENSSHclion安装和配置




安装和配置OPENSSHclion安装和配置

2022-07-20 21:07:21 网络知识 官方管理员

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@mailtmp]tarxzpfopenssl-0.9.5a.tar.gz
[root@mailtmp]cdopenssl-0.9.5a
[root@mailopenssl-0.9.5a]./config–t
[root@mailopenssl-0.9.5a]./config--prefix=/usr--openssldir=/etc/ssl
编辑Makefile.ssl文件更改MANDIR=$OPENSSL/man为MANDIR=/usr/man。
[root@mailopenssl-0.9.5a]make
[root@mailopenssl-0.9.5a]maketest
[root@mailopenssl-0.9.5a]makeinstall
[root@mailopenssl-0.9.5a]cd..
[root@mailtmp]rm–rfopenssl*
4.2安装OPENSSH
在安装OPENSSL之前确认你的系统中已安装了zlib库,可用下面的命令来检查一下,若没有不要的犹豫,它就在你的系统安装光盘中,马上安装吧!
[root@mailtmp]rpm–qizlib
[root@mailtmp]tarxzpfopenssh-2.5.2p2.tar.gz
[root@mailopenssh-2.5.2p2]./configure\
>--prefix=/usr\
>--sysconfdir=/etc/ssh\
>--with-tcp-wrappers\
>--with-ipv4-default\
>--with-ssl-dir=/usr/include/openssl
[root@mailopenssh-2.5.2p2]make
[root@mailopenssh-2.5.2p2]makeinstall
[root@mailopenssh-2.5.2p2]install–m644contrib/redhat/sshd.pam\
/etc/pam.d/sshd
[root@mailopenssh-2.5.2p2]cd..
[root@mailtmp]rm–rfopenssh*
五、配置OPENSSH
5.1在inetd服务器中起动SSHD守护程序只需加入下面一行(建议在起动TELNET守护程序这一行更改,以完全代替TELNET):
sshstreamtcpnowaitroot/usr/sbin/tcpdsshd–I
5.2SSH客户端配置文件/etc/ssh/ssh_config,一般情况下我们在多使用WINDOWS平台的客户端,此配置文件只有客户端不指定任何参数的情况下才使用,其内容如下:
#$OpenBSD:ssh_config,v1.92001/03/1012:53:51deraadtExp$
Host*
ForwardAgentno
ForwardX11no
RhostsAuthenticationno
RhostsRSAAuthenticationyes
RSAAuthenticationyes
PasswordAuthenticationno
FallBackToRshno
UseRshno
BatchModeno
CheckHostIPyes
StrictHostKeyCheckingyes
IdentityFile~/.ssh/identity
IdentityFile~/.ssh/id_dsa
IdentityFile~/.ssh/id_rsa1
IdentityFile~/.ssh/id_rsa2
Port22
Protocol2,1
Cipherblowfish
EscapeChar~

5.3SSH服务器端配置文件/etc/ssh/sshd_config,关于下面各个参数的含义请参考使用手册,此例中使用第二种认证方式(基于密钥的认证)以提高安全性。
#$OpenBSD:sshd_config,v1.342001/02/2410:37:26deraadtExp$
Port22
#Protocol2,1
#ListenAddress0.0.0.0
#ListenAddress::
HostKey/etc/ssh/ssh_host_key
HostKey/etc/ssh/ssh_host_rsa_key
HostKey/etc/ssh/ssh_host_dsa_key
ServerKeyBits768
LoginGraceTime600
KeyRegenerationInterval3600
PermitRootLoginwithout-password
#
#Don'tread~/.rhostsand~/.shostsfiles
IgnoreRhostsyes
#Uncommentifyoudon'ttrust~/.ssh/known_hostsforRhostsRSAAuthentication
#IgnoreUserKnownHostsyes
StrictModesyes
X11Forwardingno
X11DisplayOffset10
PrintMotdyes
KeepAliveyes

#Logging
SyslogFacilityAUTH
LogLevelINFO
#obsoletesQuietModeandFascistLogging

RhostsAuthenticationno
#
#Forthistoworkyouwillalsoneedhostkeysin/etc/ssh/ssh_known_hosts
RhostsRSAAuthenticationno
#
RSAAuthenticationyes

#Todisabletunneledcleartextpasswords,changetonohere!
PasswordAuthenticationno
PermitEmptyPasswordsno

#Commenttoenables/keypasswordsorPAMinteractiveauthentication
#NB.Neitherofthesearecompiledinbydefault.Pleasereadthe
#notesinthesshd(8)manpagebeforeenablingthisonaPAMsystem.
ChallengeResponseAuthenticationno

#TochangeKerberosoptions
#KerberosAuthenticationno
#KerberosOrLocalPasswdyes
#AFSTokenPassingno
#KerberosTicketCleanupno

#KerberosTGTPassingdoesonlyworkwiththeAFSkaserver
#KerberosTgtPassingyes

#CheckMailyes
#UseLoginno

#MaxStartups10:30:60
#Banner/etc/issue.net
#ReverseMappingCheckyes

#Subsystemsftp/usr/libexec/sftp-server

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


发表评论:

最近发表
网站分类
标签列表