[RHEL5企业级企业级企业级企业级Linux服务攻略服务攻略服务攻略服务攻略]--第第第第12季季季季网络访问网络访问网络访问网络访问Telnet/SSH全功略全功略全功略全功略Telnet软件包软件包软件包软件包客户端:telnet-0.17-38.el5.i386.rpm服务端:telnet-server-0.17-38.el5.i386.rpmtelnet没有安装就安装下哈~,确保安装前已经安装xinetd服务Telnet访问控制访问控制访问控制访问控制可以使用/etc/hosts.allow和/etc/hosts.deny文件来限制客户端访问,这两个文件是tcpd服务配置文件,tcpd服务可以控制外部主机对本机服务的访问。格式:服务进程名服务进程名服务进程名服务进程名::::主机列表主机列表主机列表主机列表::::[可选的命令操作可选的命令操作可选的命令操作可选的命令操作]Telnet限制最大连接数限制最大连接数限制最大连接数限制最大连接数可以编辑/etc/xinetd.d/telnet文件,然后在{}中添加一行instances=需要限制的数字Telnet服务启动方法由于telnet是由xinetd服务管理,所以telnet启动方法和其他服务不大一样哈~chkconfig--level35krb5-telneton也可以使用ntsysv启动通过修改/etc/xinetd.d/krb5-telnet文件也可以启动telnet服务,而ntsysv从本质上也是通过修改此文件的,修改方法将disable=yes改为disable=no就可以了修改了配置文件我们还需要重启xinetd服务来使用配置生效现在我们可以查看一下主机是否开启了23端口netstat-tna|grep23现在客户端就可以telnet上服务器了,默认不允许root用户通过telnet登录,我们可以使用su-切换到root用户身份。如果服务器配置了防火墙的话,就禁止了telnet登录。这样客户端就telnet连接不上了还需要允许客户端访问telnet服务所使用的端口才可以,默认使用TCP协议的23端口。iptables-IINPUT-ptcp--dport23-jACCEPT现在就又可以登录了哈~我们还可以更新telnet默认端口号,这样可以降低安全风险,注意不能修改成已经在使用的端口vim/etc/services修改后重启xinetd服务现在我们还需要修改iptables规则iptables-IINPUT-ptcp--dport2388-jACCEPT客户端XP登录测试下哈~OpenSSH服务需要4个软件包openssh-4.3p2-24.el5.i386.rpm:包含OpenSSH服务器及客户端需要的核心文件openssh-askpass-4.3p2-24.el5.i386.rpm:支持对话框窗口的显示,是一个基于X系统的密码诊断工具openssh-clients-4.3p2-24.el5.i386.rpm:OpenSSH客户端软件包openssh-server-4.3p2-24.el5.i386.rpm:OpenSSH服务器软件包没有就安装一下哈~OpenSSH配置文件OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/sshd_config。ssh_config为客户端配置文件而sshd_config为服务器端配置文件ssh_config配置文件配置文件配置文件配置文件Host:指定配置生效的主机,设置的主机将使用其他设置,“*”表示所有的计算机。ForwardAgent:如果存在验证代理,可以设置连接是否经过验证代理转发给远程计算机。ForwardX11:设置X11连接是否被自动重定向到安全的通道和显示集。RhostsAuthentication:设置是否使用基于rhosts安全验证。RhostsRSAAuthentication:设置是否使用RSA算法的基于rhosts安全验证。RSAAuthentication:设置是否使用RSA算法进行安全验证。PasswordAuthentication:设置是否使用口令验证。HostbasedAuthentication:基于主机的认证FallBackToRsh:设置如果用SSH连接出现错误是否自动使用RSH。UseRsh:设置是否在这台计算机上使用rlogin/rsh。BatchMode:如果设置为yes,passphrase/password的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务非常有用。CheckHostIP:设置SSH是否查看连接到服务器的主机的IP地址来防止DNS欺骗。建议设置为yes。AddressFamily:指定sshd应当使用哪种地址族ConnectTimeout:设置连接超时。StrictHostKeyChecking:如果设置为yes,SSH就不会自动把计算机的密匙加入$HOME/.ssh/known_hosts文件,并且一旦计算机的密匙发生变化,就拒绝连接。IdentityFile:设置从哪个文件读取用户的RSA安全验证标识。Port:设置连接到远程主机的端口。Protocol:设置客户端使用的SSH版本。Cipher:设置加密方式。Ciphers:指定SSH-2允许使用的加密算法EscapeChar:设置escape字符。Tunnel:设置穿越不被信任的网络TunnelDeviceany:anyPermitLocalCommandno/etc/ssh/sshd_config配置文件配置文件配置文件配置文件Port22设置sshd监听端口号ListenAddress0.0.0.0设置sshd服务器绑定的IP地址,0.0.0.0表示侦听所有地址HostKey/etc/ssh/ssh_host_key设置包含计算机私人密匙的文件ServerKeyBits768定义服务器密匙长度LoginGraceTime2m设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(单位为秒)KeyRegenerationInterval1h设置在多少秒之后自动重新生成服务器密匙。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。PermitRootLoginno设置root是否能够使用SSH登录,为了保证服务器安全,建议设置为noStrictModesyes设置SSH在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。防止目录和文件设置成任何人都有写权限。RhostsAuthenticationno设置只用rhosts或/etc/hosts.equiv进行安全验证是否满足需要。RhostsRSAAuthenticationno设置是否允许用rhosts或/etc/hosts.equiv加上RSA进行安全验证。RSAAuthenticationyes设置是否允许只有RSA安全验证。IgnoreUserKnownHostsno设置sshdaemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的$HOME/.ssh/known_hosts。IgnoreRhostsyes设置验证的时候是否使用rhosts和shosts文件PasswordAuthenticationyes设置是否允许口令验证。PermitEmptyPasswordsno设置是否允许用口令为空的帐号登录。X11Forwardingyes设置是否允许X11转发PrintMotdyes设置sshd是否在用户登录的时候显示/etc/motd中的信息。SyslogFacilityAUTH设置在记录来自sshd的消息时是否给出facilitycode。LogLevelINFO设置记录sshd日志消息的层次AllowUsersmichael设置允许的用户,数量可以为多个,使用空格隔开。OpenSSH身份验证身份验证身份验证身份验证((((1))))口令验证口令验证口令验证口令验证ssh-l[远程主机帐号远程主机帐号远程主机帐号远程主机帐号][远程服务器主机名或远程服务器主机名或远程服务器主机名或远程服务器主机名或IP地址地址地址地址]ssh-lmichael192.168.8.188如果通信正常将会收到如下信息第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了哈~((((2))))密匙认证密匙认证密匙认证密匙认证1))))配置远程服务器配置远程服务器配置远程服务器配置远程服务器,,,,禁止口令认证禁止口令认证禁止口令认证禁止口令认证vim/etc/ssh/sshd_conf2))))客户端生成密匙客户端生成密匙客户端生成密匙客户端生成密匙如果专用ssh系统帐号为51cto进行远程管理,可以使用51cto帐号登录后执行ssh-keygen生成密匙,因为rhel5使用的是ssh2,所以要加参数-dssh-keygen-d提示输入密匙文件的保存路径,选择默认继续哈~下面要求输入密码,这里的passphrase密码是对生成的私匙文件(/home/51cto/.ssh/id_dsa)的保护口令,如果不设置可以回车。公匙文件为/home/51cto/.ssh/id_dsa.pub。3))))发布公匙发布公匙发布公匙发布公匙使用ssh-copy-id命令将客户端生成的公钥发布到远程服务器192.168.8.188,并使用-i参数指定本地公钥的存放位置。ssh-copy-id-i/home/51cto/.ssh/id_dsa.pub192.168.8.1884))))连接远程服务器连接远程服务器连接远程服务器连接远程服务器ssh-l51cto192.168.8.188其他客户端设置参考RHCE课程课程课程课程-RH131Linux管理笔记五管理笔记五管理笔记五管理笔记五-Linux远程登陆远程登陆远程登陆远程登陆telnet及及及及ssh服务服务服务服务