📄 s1-openssh-client-config.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML><HEAD><TITLE>配置 OpenSSH 客户</TITLE><METANAME="GENERATOR"CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+"><LINKREL="HOME"TITLE="Red Hat Linux 9"HREF="index.html"><LINKREL="UP"TITLE="OpenSSH"HREF="ch-openssh.html"><LINKREL="PREVIOUS"TITLE="配置 OpenSSH 服务器"HREF="s1-openssh-server-config.html"><LINKREL="NEXT"TITLE="其它资料"HREF="s1-openssh-additional-resources.html"><LINKREL="STYLESHEET"TYPE="text/css"HREF="rhdocs-man.css"><METAHTTP-EQUIV="Content-Type"CONTENT="text/html; charset=gb2312"></HEAD><BODYCLASS="SECT1"BGCOLOR="#FFFFFF"TEXT="#000000"LINK="#0000FF"VLINK="#840084"ALINK="#0000FF"><DIVCLASS="NAVHEADER"><TABLESUMMARY="Header navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><THCOLSPAN="3"ALIGN="center">Red Hat Linux 9: Red Hat Linux 定制指南</TH></TR><TR><TDWIDTH="10%"ALIGN="left"VALIGN="bottom"><AHREF="s1-openssh-server-config.html"ACCESSKEY="P">后退</A></TD><TDWIDTH="80%"ALIGN="center"VALIGN="bottom">15. OpenSSH</TD><TDWIDTH="10%"ALIGN="right"VALIGN="bottom"><AHREF="s1-openssh-additional-resources.html"ACCESSKEY="N">前进</A></TD></TR></TABLE><HRALIGN="LEFT"WIDTH="100%"></DIV><DIVCLASS="SECT1"><H1CLASS="SECT1"><ANAME="S1-OPENSSH-CLIENT-CONFIG"></A>15.3. 配置 OpenSSH 客户</H1><P> 要从客户机连接到 OpenSSH 服务器上,你必须在客户机器上装有 <TTCLASS="FILENAME">openssh-clients</TT> 和<TTCLASS="FILENAME">openssh</TT> 软件包。 </P><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-OPENSSH-USING-SSH"></A>15.3.1. 使用 <TTCLASS="COMMAND">ssh</TT> 命令</H2><P> <TTCLASS="COMMAND">ssh</TT> 命令是 <TTCLASS="COMMAND">rlogin</TT>、<TTCLASS="COMMAND">rsh</TT> 和 <TTCLASS="COMMAND">telnet</TT> 命令的安全替换。它允许你在远程机器上登录并在其上执行命令。 </P><P> 使用 <TTCLASS="COMMAND">ssh</TT> 来登录到远程机器和使用 <TTCLASS="COMMAND">telnet</TT> 相似。要登录到一个叫做 penguin.example.net 的远程机器,在 shell 提示下键入下面的命令: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">ssh penguin.example.net</TT></PRE></TD></TR></TABLE><P> 第一次使用 <TTCLASS="COMMAND">ssh</TT> 在远程机器上登录时,你会看到和下面相仿的消息: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMPUTEROUTPUT">The authenticity of host 'penguin.example.net' can't be established.DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.Are you sure you want to continue connecting (yes/no)? </TT></PRE></TD></TR></TABLE><P> 键入 <TTCLASS="USERINPUT"><B>yes</B></TT> 来继续。这会把该服务器添加到你的已知主机的列表中,如下面的消息所示: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMPUTEROUTPUT">Warning: Permanently added 'penguin.example.net' (RSA) to the list of known hosts.</TT></PRE></TD></TR></TABLE><P> 下一步,你会看到向你询问远程主机口令的提示。在输入口令后,你就会在远程主机的 shell 提示下了。如果你没有指定用户名,你在本地客户机器上登录用的用户名就会被传递给远程机器。如果你想指定不同的用户名,使用下面的命令: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">ssh <TTCLASS="REPLACEABLE"><I>username</I></TT>@penguin.example.net</TT></PRE></TD></TR></TABLE><P> 你还可以使用 <TTCLASS="COMMAND">ssh -l <TTCLASS="REPLACEABLE"><I>username</I></TT> penguin.example.net</TT>。 </P><P> <TTCLASS="COMMAND">ssh</TT> 命令可以用来在远程机器上不经 shell 提示登录而执行命令。它的语法格式是: <TTCLASS="COMMAND"> ssh<TTCLASS="REPLACEABLE"><I>hostname</I></TT> <TTCLASS="REPLACEABLE"><I>command</I></TT></TT>。譬如,如果你想在远程主机penguin.example.net 上执行<TTCLASS="COMMAND">ls /usr/share/doc</TT> 命令,在 shell 提示下键入下面的命令: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">ssh penguin.example.net ls /usr/share/doc</TT></PRE></TD></TR></TABLE><P>在你输入了正确的口令之后, <TTCLASS="FILENAME">/usr/share/doc</TT>这个远程目录中的内容就会被显示,然后你就会被返回到你的本地 shell 提示下。 </P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-OPENSSH-USING-SCP"></A>15.3.2. 使用 <TTCLASS="COMMAND">scp</TT> 命令</H2><P> <TTCLASS="COMMAND">scp</TT> 命令可以用来通过安全、加密的连接在机器间传输文件。它与<TTCLASS="COMMAND">rcp</TT> 相似。 </P><P> 把本地文件传输给远程系统的一般语法是: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">scp <TTCLASS="REPLACEABLE"><I>localfile</I></TT> <TTCLASS="REPLACEABLE"><I>username@tohostname:/newfilename</I></TT></TT></PRE></TD></TR></TABLE><P> <TTCLASS="REPLACEABLE"><I>localfile</I></TT> 指定源文件,<TTCLASS="REPLACEABLE"><I>username@tohostname:/newfilename</I></TT> 指定目标文件。 </P><P> 要把本地文件 <TTCLASS="FILENAME">shadowman</TT> 传送到你在 penguin.example.net 上的账号内,在 shell 提示下键入(把 <TTCLASS="REPLACEABLE"><I>username</I></TT> 替换成你的用户名): </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">scp shadowman <TTCLASS="REPLACEABLE"><I>username</I></TT>@penguin.example.net:/home/<TTCLASS="REPLACEABLE"><I>username</I></TT></TT></PRE></TD></TR></TABLE><P> 这会把本地文件 <TTCLASS="FILENAME">shadowman</TT> 传输给 penguin.example.net 上的 <TTCLASS="FILENAME">/home/<TTCLASS="REPLACEABLE"><I>username</I></TT>/shadowman</TT> 文件。 </P><P> 把远程文件传输给本地系统的一般语法是: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">scp <TTCLASS="REPLACEABLE"><I>username@tohostname:/remotefile</I></TT> <TTCLASS="REPLACEABLE"><I>/newlocalfile</I></TT></TT></PRE></TD></TR></TABLE><P> <TTCLASS="REPLACEABLE"><I>remotefile</I></TT> 指定源文件,<TTCLASS="REPLACEABLE"><I>newlocalfile</I></TT> 指定目标文件。 </P><P> 源文件可以由多个文件组成。譬如,要把目录 <TTCLASS="FILENAME">/downloads</TT> 的内容传输到远程机器 penguin.example.net 上现存的 <TTCLASS="FILENAME">uploads</TT> 目录,在 shell 提示下键入下列命令: </P><TABLECLASS="SCREEN"BGCOLOR="#DCDCDC"WIDTH="100%"><TR><TD><PRECLASS="SCREEN"><TTCLASS="COMMAND">scp /downloads/* <TTCLASS="REPLACEABLE"><I>username</I></TT>@penguin.example.net:/uploads/</TT></PRE></TD></TR></TABLE></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-OPENSSH-USING-SFTP"></A>15.3.3. 使用 <TTCLASS="COMMAND">sftp</TT> 命令</H2><P> <TTCLASS="COMMAND">sftp</TT> 工具可以用来打开一次安全互动的 FTP 会话。它与 <TTCLASS="COMMAND">ftp</TT> 相似, 只不过,它使用安全、加密的连接。它的一般语法是:<TTCLASS="COMMAND"><TTCLASS="REPLACEABLE"><I>sftp username@hostname.com</I></TT></TT>。一旦通过 验证,你可以使用一组和使用 FTP 相似的命令。请参阅 <TTCLASS="COMMAND">sftp</TT> 的说明书页(man)来获取这些 命令的列表。要阅读说明书页,在 shell 提示下执行 <TTCLASS="COMMAND">man sftp</TT> 命令。<TTCLASS="COMMAND">sftp</TT> 工具只在 OpenSSH 版本 2.5.0p1 以上才有。 </P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2"><ANAME="S2-OPENSSH-GENERATE-KEYPAIRS"></A>15.3.4. 生成钥匙对</H2><P> 如果你不想每次使用 <TTCLASS="COMMAND">ssh</TT>、<TTCLASS="COMMAND">scp</TT> 或 <TTCLASS="COMMAND">sftp</TT> 时都要输入口令来连接远程机器,你可以生成一对授权钥匙。 </P><P> 钥匙必须为每个用户生成。要为某用户生成钥匙,用想连接到远程机器的用户身份来遵循下面的步骤。如果你用根用户的身份完成了下列步骤,就只有根用户才能使用这对钥匙。 </P><P> 从 OpenSSH 版本 3.0 开始,<TTCLASS="FILENAME">~/.ssh/authorized_keys2</TT>、<TTCLASS="FILENAME">~/.ssh/known_hosts2</TT> 和 <TTCLASS="FILENAME">/etc/ssh_known_hosts2</TT> 就会过时。SSH 协议 1 和 2 共享 <TTCLASS="FILENAME">~/.ssh/authorized_keys</TT>、<TTCLASS="FILENAME">~/.ssh/known_hosts</TT> 和 <TTCLASS="FILENAME">/etc/ssh/ssh_known_hosts</TT> 文件。 </P><P> Red Hat Linux 9 默认使用 SSH 协议 2 和 RSA 钥匙。 </P><DIVCLASS="TIP"><P></P><TABLECLASS="TIP"WIDTH="100%"BORDER="0"><TR><TDWIDTH="25"ALIGN="CENTER"VALIGN="TOP"><IMGSRC="./stylesheet-images/tip.png"HSPACE="5"ALT="窍门"></TD><THALIGN="LEFT"VALIGN="CENTER"><B>窍门</B></TH></TR><TR><TD> </TD><TDALIGN="LEFT"VALIGN="TOP"><P> 如果你重装了 Red Hat Linux,但是想保留现有的钥匙对,备份你的主目录中的 <TTCLASS="FILENAME">.ssh</TT> 目录。重装后,把该目录复制回主目录。该进程可为系统上的所有用户进行,包括根用户。 </P></TD></TR></TABLE></DIV><DIVCLASS="SECT3"><H3CLASS="SECT3"><ANAME="S3-OPENSSH-RSA-KEYS-V2"></A>15.3.4.1. 为版本 2 生成 RSA 钥匙对</H3><P> 使用下列步骤来为 SSH 协议的版本 2 生成 RSA 钥匙对。从 OpenSSH 2.9 开始,它已成为默认设置。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -