📄 9.htm
字号:
<P>Woody发布版中包含了下面这些拥有图形处理能力的网页浏览器:
<UL>
<LI><CODE>mozilla</CODE> The Mozilla browser (new)
<LI><CODE>galeon</CODE> Mozilla-based browser with a Gnome UI (new)
<LI><CODE>konqueror</CODE> KDE browser
<LI><CODE>dillo</CODE> GTK browser
<LI><CODE>amaya-gtk</CODE> W3C reference browser
<LI><CODE>amaya-lesstif</CODE> W3C reference browser
<LI><CODE>netscape-...</CODE> (many, old)
<LI><CODE>communicator-...</CODE> (many, old)
<LI>... </LI></UL>
<P>galeon需要有与其版本相匹配的特定版本的<CODE>mozilla</CODE>才能运行。虽然它们的UI不同,但都使用的是同一个HTML解释引擎Gecko。
<P>安装诸如<CODE>mozilla</CODE>、<CODE>galeon</CODE>浏览器的plug-ins,可手工将“<SAMP>*.so</SAMP>”装到plug-in目录下,然后重启浏览器。
<P>Plug-in资源:
<UL>
<LI>Java plug-in: install binary "J2SE" from <CODE><A
href="http://java.sun.com/">http://java.sun.com/</A></CODE>.
<LI>Flash plug-in: install binary "Macromedia Flash Player 5" from <CODE><A
href="http://www.macromedia.com/software/flashplayer/">http://www.macromedia.com/software/flashplayer/</A></CODE>.
<LI><CODE>freewrl</CODE>: VRML browser and Netscape plugin
<LI>... </LI></UL>
<HR>
<A name=s-ssh></A>
<H2>9.5 SSH</H2>
<P>SSH(Secure
SHell)是在Internet中建立连接的安全途径。OpenSSH是一个自由的SSH实现软件,它包含在Debian的ssh软件包中。
<HR>
<A name=s-ssh-basics></A>
<H3>9.5.1 基础</H3>
<P>首次安装OpenSSH服务器和客户机。 <PRE> # apt-get update && apt-get install ssh
</PRE>
<P>安装时需要打开<CODE>/etc/apt/source.list</CODE>中的non-US链接。要运行OpenSSH服务器,还得屏蔽掉<CODE>/etc/ssh/sshd_not_to_be_run</CODE>。
<P>SSH有两个验证协议:
<UL>
<LI>SSH协议 第1版:
<UL>
<LI>Potato发布版仅支持该版协议
<LI>可用的验证方法:
<UL>
<LI>RSA验证:基于RSA密匙的用户验证
<LI>Rhosts验证:基于.rhosts的主机验证(不安全,有缺陷)
<LI>RhostsRSA验证:.rhosts验证与RSA主机密匙相结合(有缺陷)
<LI>ChallengeResponse验证:RSA Challenge-response验证
<LI>Password验证:基于password的验证 </LI></UL></LI></UL></LI></UL>
<UL>
<LI>SSH协议 第2版
<UL>
<LI>Woody后继版本将以该版协议为主
<LI>可用的验证方式:
<UL>
<LI>Pubkey验证:基于公共密匙的用户验证
<LI>Hostbase验证:<CODE>.rhosts</CODE>或<CODE>/etc/hosts.equiv</CODE>验证与公共密匙客户端主机验证相结合(有缺陷)
<LI>ChallengeResponse验证:challenge-response验证
<LI>Password验证:基于password的验证 </LI></UL></LI></UL></LI></UL>
<P>如果系统正迁移到Woody或使用非Debian系统,请注意版本差异。
<P>更多信息请参阅<CODE>/usr/share/doc/ssh/README.Debian.gz</CODE>、<CODE>ssh(1)</CODE>、<CODE>sshd(8)</CODE>、<CODE>ssh-agent(1)</CODE>和<CODE>ssh-keygen(1)</CODE>。
<P>下面是一些关键的配置文件:
<UL>
<LI><CODE>/etc/ssh/ssh_config</CODE>:默认的SSH客户机。参阅<CODE>ssh(1)</CODE>。其中重要的项目有:
<UL>
<LI><SAMP>Host</SAMP>:作用于所有与该关键字后所列出的主机相匹配的主机,它们须遵守下面(处于本host关键字之后下一个host关键字之前的内容)所列的各项条款。
<LI><SAMP>Protocol</SAMP>:规定所使用的SSH协议的版本。默认为“2,1”。
<LI><SAMP>PreferredAuthentications</SAMP>:规定SSH2客户端验证方式。默认为“hostbased,publickey,keyboard-interactive,password”。
<LI><SAMP>PasswordAuthentication</SAMP>:如果想使用密码登录,须确认该选项没有设置成<SAMP>no</SAMP>。
<LI><SAMP>ForwardX11</SAMP>:默认为关闭状态。可使用命令行选项“<SAMP>-X</SAMP>”重载它。
</LI></UL></LI></UL>
<UL>
<LI><CODE>/etc/ssh/sshd_config</CODE>:默认的SSH服务器。参阅s<CODE>sshd(8)</CODE>。其中重要的项目有:
<UL>
<LI><SAMP>ListenAddress</SAMP>:规定<CODE>sshd</CODE>监听的本地地址。允许多重指定。
<LI><SAMP>AllowTcpForwarding</SAMP>:默认为关闭状态。
<LI><SAMP>X11Forwarding</SAMP>:默认为关闭状态。 </LI></UL></LI></UL>
<UL>
<LI><CODE>$HOME/.ssh/authorized_keys</CODE>:默认公共密匙列表,客户机可使用这些密匙连接本主机的该用户帐号。参阅<CODE>ssh-keygen(1)</CODE>。
</LI></UL>
<UL>
<LI><CODE>$HOME/.ssh/identity</CODE>:参阅<CODE>ssh-add(1)</CODE>和<CODE>ssh-agent(1)</CODE>。
</LI></UL>
<P>下面的操作将从客户机建立一个<CODE>ssh</CODE>连接。 <PRE> $ ssh username@hostname.domain.ext
$ ssh -1 username@hostname.domain.ext # Force SSH version 1
$ ssh -1 -o RSAAuthentication=no -l username foo.host
# force password on SSH1
$ ssh -o PreferredAuthentications=password -l username foo.host
# force password on SSH2
</PRE>
<P>在用户眼里,<CODE>ssh</CODE>的功能相当于一个更灵巧更安全的<CODE>telnet</CODE>(will not bomb with
^])。
<HR>
<A name=s-ssh-forward></A>
<H3>9.5.2 发送端口–SMTP/POP3微调</H3>
<P>在本地机器上执行下面的命令,可以建立一个连接本地主机4025端口和<VAR>远程服务器</VAR>25端口的管道,以及一个连接本地主机4110端口和<VAR>远程服务器</VAR>110端口的<CODE>ssh</CODE>连接。
<PRE> # ssh -q -L 4025:remote-server:25 4110:remote-server:110 \
username@remote-server
</PRE>
<P>在Internet上可使用该方法建立与SMTP/POP3服务器的安全连接。记得在远程主机的<CODE>/etc/ssh/sshd_config</CODE>中设置<SAMP>AllowTcpForwarding</SAMP>值为<SAMP>yes</SAMP>。
<HR>
<A name=s-ssh-rsa></A>
<H3>9.5.3 用更少的密码建立连接</H3>
<P>使用RSAAuthentication(SSH1协议)或PubkeyAuthentication(SSH2协议)可不必记住每个远程系统的连接密码。
<P>在远程系统上,在<CODE>/etc/ssh/sshd_config</CODE>中分别设置“RSAAuthentication
yes”或“PubkeyAuthentication yes”。
<P>然后在本地生成验证密匙,在远程系统上安装公共密匙: <PRE> $ ssh-keygen # RSAAuthentication: RSA1 key for SSH1
$ cat .ssh/identity | ssh user1@remote \
"cat - >>.ssh/authorized_keys"
...
$ ssh-keygen -t rsa # PubkeyAuthentication: RSA key for SSH2
$ cat .ssh/id_rsa.pub | ssh user1@remote \
"cat - >>.ssh/authorized_keys"
...
$ ssh-keygen -t dsa # PubkeyAuthentication: DSA key for SSH2
$ cat .ssh/id_dsa.pub | ssh user1@remote \
"cat - >>.ssh/authorized_keys"
</PRE>
<P>今后可用“<SAMP>ssh-keygen -p</SAMP>”来改密码。最后记得检查一下设置,可做个连接测试,如遇问题,执行“<SAMP>ssh
-v</SAMP>”。
<P>你可以通过在<CODE>authorized_keys</CODE>里添加选项来限制主机及运行指定的命令。详情参阅<CODE>sshd(8)</CODE>。
<P>注意SSH2有<SAMP>HostbasedAuthentication</SAMP>,要使它工作,必须同时在服务器端的<CODE>/etc/ssh/sshd_config</CODE>文件中和客户机端的<CODE>/etc/ssh/ssh_config</CODE>或<CODE>$HOME/.ssh/config</CODE>文件中设置<SAMP>HostbasedAuthentication</SAMP>为<SAMP>yes</SAMP>。
<HR>
<A name=s-ssh-client></A>
<H3>9.5.4 其它平台的SSH客户端</H3>
<P>下面是其它一些非类Unix平台的免费SSH客户端。
<DL>
<DT>Windows
<DD><CODE><A
href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">puTTY</A></CODE>
(GPL) </DD></DL>
<DL>
<DT>Windows (cygwin)
<DD>SSH in <CODE><A href="http://www.cygwin.com/">cygwin</A></CODE> (GPL)
</DD></DL>
<DL>
<DT>Macintosh Classic
<DD><CODE><A href="http://www.macssh.com/">macSSH</A></CODE> (GPL) [注意Mac OS
X包含OpenSSH;在终端应用程序中使用<SAMP>ssh</SAMP>] </DD></DL>
<P>参阅<CODE><A
href="http://www.sourceforge.net/docman/?group_id=1">SourceForge.net的站点文档</A></CODE>,“6.
CVS Instructions”。
<HR>
<A name=s-ssh-agent></A>
<H3>9.5.5 SSH代理</H3>
<P>使用passphrase来保护SSH认证密匙会更安全,如果还没有设置,可使用<SAMP>ssh-keygen -p</SAMP>来设置。
<P><A
href="http://qref.sourceforge.net/Debian/reference/ch-tune.zh-cn.html#s-ssh-rsa">用更少的密码建立连接,
第 9.5.3
节</A>中描述了如何使用一个基于密码的远程主机连接,将公共密匙(例如<CODE>~/.ssh/id_rsa.pub</CODE>)放入远程主机的<CODE>~/.ssh/authorized_keys</CODE>。
<PRE> $ ssh-agent bash # or run zsh/tcsh/pdksh program instead.
$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/osamu/.ssh/id_rsa:
Identity added: /home/osamu/.ssh/id_rsa (/home/osamu/.ssh/id_rsa)
$ scp <VAR>foo</VAR> <VAR>user@remote.host:foo</VAR>
... no passphrase needed from here on :-)
$^D
... terminating ssh-agent session
</PRE>
<P>对于X服务器,普通Debian启动脚本会将<CODE>ssh-agent</CODE>作为一个父进程执行。所以只需执行一次<CODE>ssh-add</CODE>即可。
<P>详情参阅<CODE>ssh-agent(1)</CODE>和<CODE>ssh-add(1)</CODE>。
<HR>
<A name=s-ssh-trouble></A>
<H3>9.5.6 问题解决</H3>
<P>如果遇到问题,检查一下配置文件的访问权限,并使用“<SAMP>-v</SAMP>”选项运行<CODE>ssh</CODE>。
<P>如果是root身份,遇到连接防火墙出错的情况,可使用“<SAMP>-P</SAMP>”选项;它规定ssh使用服务器的1–1023以外的端口。
<P>如果与远程站点的<CODE>ssh</CODE>连接突然停止工作,很可能是因为系统管理员修补系统造成的,<CODE>host_key</CODE>在系统维护过程中被更改。在查明了事情真象并确定并不是有人试图冒充远程主机非法入侵之后,从本地机器的<CODE>$HOME/.ssh/known_hosts</CODE>中删除<CODE>host_key</CODE>项目就可以恢复连接了。
<HR>
<A name=s-mail></A>
<H2>9.6 邮件程序</H2>
<P>邮件系统配置分为三类:
<UL>
<LI>邮件传输代理(MTA):<CODE>exim</CODE>, <CODE>postfix</CODE>,
<CODE>sendmail</CODE>, <CODE>qmail</CODE>, <CODE>ssmtp</CODE>,
<CODE>nullmailer</CODE>, ... </LI></UL>
<UL>
<LI>邮件工具:<CODE>procmail</CODE>, <CODE>fetchmail</CODE>, <CODE>mailx</CODE>,
... </LI></UL>
<UL>
<LI>邮件用户代理(MUA):<CODE>mutt</CODE>, <CODE>emacs</CODE>+<CODE>gnus</CODE>,
</LI></UL>
<HR>
<A name=s9.6.1></A>
<H3>9.6.1 邮件传输代理(Mail transport agent)</H3>
<P>想对MTA有一个全面的了解,请使用<CODE>exim</CODE>。参阅:
<UL>
<LI><CODE>exim-doc</CODE>和<CODE>exim-doc-html</CODE>软件包
<LI><CODE><A href="http://www.exim.org/">http://www.exim.org/</A></CODE>
</LI></UL>
<P>如果你对安全性有高要求的话,唯一一个可替代的MTA是<CODE>postfix</CODE>。Debian软件包还提供了<CODE>sendmail</CODE>和<CODE>qmail</CODE>,但并不推荐你使用它们。
<P>有时并不需要MTA的所有功能,如在一个卫星系统中的一台笔记本电脑,可以考虑下列几种轻量级软件包:
<UL>
<LI><CODE>ssmtp</CODE>:需要SMTP连接并支持别名功能,或者
<LI><CODE>nullmailer</CODE>:可以存信但不支持别名。 </LI></UL>
<P>此刻,我发现<CODE>exim</CODE>对于我作为个人工作站的笔记本电脑再合适不过了。
<P>如果要安装这些软件包必须先删除<CODE>exim</CODE>,它们有冲突: <PRE> # dpkg -P --force-depends exim
# apt-get install nullmailer # or ssmtp
</PRE>
<HR>
<A name=s9.6.1.1></A>
<H4>9.6.1.1 配置Exim的基础知识</H4>
<P>为了将<CODE>exim</CODE>作为MTA,可按下列步骤进行配置: <PRE> /etc/exim/exim.conf 使用“eximconfig”创建及编辑
/etc/inetd.conf 注释掉smtp,将exim作为daemon运行
/etc/email-addresses 添加伪来源地址列表
检查邮件过滤器可使用exim -brw, -bf, -bF, -bV, ... 等等
</PRE>
<HR>
<A name=s9.6.1.2></A>
<H4>9.6.1.2 一个收集不存在的邮件地址的容器(Exim)</H4>
<P>在<CODE>/etc/exim/ex
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -