这是可以使用我们的多个免费在线工作站之一(例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器)在 OnWorks 免费托管服务提供商中运行的命令 ssh
程序:
您的姓名
SSH — OpenSSH SSH 客户端(远程登录程序)
概要
SSH [-1246AaCfGgKkMNnqsTtVvXxyy[-b 绑定地址[-c 密码规范[-D [绑定地址:]端口]
[-E 日志文件[-e 转义字符[-F 配置文件[-I pkcs11[-i 身份文件]
[-L 地址[-l 登录名[-m mac_spec[-O 控制命令[-o 选项[-p 端口]
[-Q 查询选项[-R 地址[-S 控制路径[-W 主持人:端口[-w 本地_tun[:远程调谐器]]
[用户@]主机 [命令]
商品描述
SSH (SSH 客户端) 是一个用于登录远程机器和执行命令的程序
在远程机器上。 它旨在提供两个之间的安全加密通信
不安全网络上的不受信任的主机。 X11 连接、任意 TCP 端口和
UNIX 域套接字也可以通过安全通道转发。
SSH 连接并登录到指定的 主机 (带有可选 用户 姓名)。 用户必须
使用几种方法之一向远程机器证明他/她的身份(见下文)。
If 命令 指定后,它将在远程主机上执行,而不是在登录 shell 上执行。
选项如下:
-1 部队 SSH 仅尝试协议版本 1。
-2 部队 SSH 仅尝试协议版本 2。
-4 部队 SSH 仅使用 IPv4 地址。
-6 部队 SSH 仅使用 IPv6 地址。
-A 启用身份验证代理连接的转发。 这也可以
在配置文件中基于每个主机指定。
应谨慎启用代理转发。 具有绕过能力的用户
远程主机上的文件权限(对于代理的 UNIX 域套接字)可以访问
本地代理通过转发的连接。 攻击者无法获得密钥
来自代理的材料,但是他们可以对启用
他们使用加载到代理中的身份进行身份验证。
-a 禁用身份验证代理连接的转发。
-b 绑定地址
使用 VHDL 语言编写 绑定地址 在本地机器上作为连接的源地址。 仅有的
在具有多个地址的系统上很有用。
-C 请求压缩所有数据(包括 stdin、stdout、stderr 和数据
转发 X11、TCP 和 UNIX 域连接)。 压缩算法是
同样被使用 GZIP(1)、“电平”可以由 压缩级别
协议版本 1 的选项。在调制解调器线路和其他线路上需要压缩
连接速度较慢,但只会减慢快速网络上的速度。 默认的
可以在配置文件中逐个主机地设置值; 见
压缩 选项。
-c 密码规范
选择用于加密会话的密码规范。
协议版本 1 允许指定单个密码。 支持的值
是“3des”、“河豚”和“des”。 对于协议版本 2, 密码规范 是逗号-
按优先顺序列出的密码的分隔列表。 见 密码 关键字输入
ssh_配置(5) 了解更多信息。
-D [绑定地址:]端口
指定本地“动态”应用程序级端口转发。 这工作由
分配一个套接字来监听 端口 在本地,可选择绑定到
指定 绑定地址. 每当连接到此端口时,连接
通过安全通道转发,然后使用应用程序协议
确定从远程机器连接到哪里。 目前 SOCKS4 和
支持 SOCKS5 协议,并且 SSH 将充当 SOCKS 服务器。 只有root可以
转发特权端口。 动态端口转发也可以在
配置文件。
可以通过将地址括在方括号中来指定 IPv6 地址。 仅有的
超级用户可以转发特权端口。 默认情况下,本地端口绑定在
根据 网关端口 环境。 然而,一个明确的 绑定地址 也许
用于将连接绑定到特定地址。 这 绑定地址 “本地主机”
表示监听端口只绑定本地使用,而为空
地址或“*”表示该端口应可从所有接口使用。
-E 日志文件
将调试日志附加到 日志文件 而不是标准错误。
-e 转义字符
使用 pty 设置会话的转义字符(默认值:'~')。 逃生
字符仅在行首识别。 转义符
后跟一个点('.')关闭连接; 后跟 control-Z 暂停
联系; 并紧随其后发送一次转义字符。 设置
字符“none”禁用任何转义并使会话完全透明。
-F 配置文件
指定备用的每用户配置文件。 如果配置文件是
在命令行上给出,系统范围的配置文件(的/ etc / SSH / ssh_config中)
将被忽略。 每用户配置文件的默认值是 的〜/ .ssh /配置.
-f 要求 SSH 在命令执行前进入后台。 这很有用,如果
SSH 将要求输入密码或密码,但用户希望在
背景。 这意味着 -n. 在远程启动 X11 程序的推荐方法
网站有类似的东西 SSH -f 主持人 xterm的.
如果 退出转发失败 配置选项设置为“是”,然后客户端
开始 -f 将等待所有远程端口转发成功
在将自己置于后台之前建立。
-G 原因 SSH 评估后打印其配置 主办方 和 匹配 块和
退出。
-g 允许远程主机连接到本地转发端口。 如果用于多路复用
连接,则必须在主进程上指定此选项。
-I pkcs11
指定 PKCS#11 共享库 SSH 应该用于与 PKCS#11 通信
提供用户私有 RSA 密钥的令牌。
-i 身份文件
从中选择一个文件,用于公钥认证的身份(私钥)
已读。 默认是 ~/.ssh/身份 对于协议版本 1,和 〜/ .ssh / id_dsa,
〜/.ssh/id_ecdsa, 〜/.ssh/id_ed25519 和 〜/ .ssh / id_rsa 对于协议版本 2。
身份文件也可以在配置文件中按主机指定。
可以有多个 -i 选项(以及在
配置文件)。 如果没有明确指定证书
证书文件 指示, SSH 还将尝试从中加载证书信息
通过附加获得的文件名 -cert.pub 标识文件名。
-K 启用基于 GSSAPI 的 GSSAPI 身份验证和转发(委派)
服务器的凭据。
-k 禁止将 GSSAPI 凭据转发(委派)到服务器。
-L [绑定地址:]端口:主持人:主机端口
-L [绑定地址:]端口:远程套接字
-L 本地套接字:主持人:主机端口
-L 本地套接字:远程套接字
指定到本地给定 TCP 端口或 Unix 套接字的连接
(客户端)主机将被转发到给定的主机和端口,或 Unix 套接字,在
远方。 这通过分配一个套接字来侦听 TCP 端口 on
本地端,可选择绑定到指定的 绑定地址,或到 Unix 套接字。
每当与本地端口或套接字建立连接时,连接是
通过安全通道转发,并连接到任一 主持人 端口
主机端口, 或 Unix 套接字 远程套接字, 从远程机器。
端口转发也可以在配置文件中指定。 只有
超级用户可以转发特权端口。 IPv6 地址可以通过以下方式指定
将地址括在方括号中。
默认情况下,本地端口按照 网关端口 设置。
然而,一个明确的 绑定地址 可用于将连接绑定到特定的
地址。 该 绑定地址 “localhost”表示绑定监听端口
仅供本地使用,而空地址或“*”表示端口应为
可从所有接口获得。
-l 登录名
指定在远程机器上登录的用户。 这也可以指定
在配置文件中基于每个主机。
-M 放置 SSH 客户端进入“主”模式以进行连接共享。 多种的 -M
选项的地方 SSH 进入“主”模式,从前需要确认
连接被接受。 参考说明 控制大师 in
ssh_配置(5) 详情。
-m mac_spec
MAC(消息验证码)算法的逗号分隔列表,在
优先顺序。 见 媒体访问控制 关键字以获取更多信息。
-N 不要执行远程命令。 这对于仅转发端口很有用。
-n 重定向标准输入 的/ dev / null的 (实际上,防止从标准输入读取)。 这必须
在以下情况下使用 SSH 在后台运行。 一个常见的技巧是使用它来运行 X11
远程机器上的程序。 例如, SSH -n 阴影.cs.hut.fi emacs的 & 将
在shadows.cs.hut.fi上启动一个emacs,X11连接会自动
通过加密通道转发。 这 SSH 程序将被置于后台。
(如果 SSH 需要询问密码或密码; 另见
-f 选项。)
-O 控制命令
控制活动连接多路复用主进程。 当。。。的时候 -O 选项是
指定, 控制命令 参数被解释并传递给主进程。
有效的命令是:“check”(检查主进程是否正在运行)、“forward”
(请求转发而不执行命令),“取消”(取消转发),
“exit”(请求master退出)和“stop”(请求master停止)
接受进一步的多路复用请求)。
-o 选项
可用于以配置文件中使用的格式提供选项。 这是
用于指定没有单独命令行标志的选项。 为了
下面列出的选项的完整详细信息及其可能的值,请参阅
ssh_配置(5)。
添加密钥到代理
地址家庭
批处理模式
绑定地址
规范域
规范化回退本地
规范化主机名
规范化最大点数
规范化PermittedCNAME
证书文件
质询响应身份验证
检查主机IP
暗号
密码
清除所有转发
压缩
压缩级别
连接尝试
连接超时
控制大师
控制路径
控制持久化
动态转发
转义字符
退出转发失败
指纹哈希
转发代理
前进X11
ForwardX11 超时
转发X11
网关端口
全局已知主机文件
GSSAPI认证
GSSAPIDelegateCredentials
哈希已知主机
主办方
基于主机的认证
基于主机的密钥类型
主机密钥算法
主机密钥别名
主机名
身份文件
仅限身份
服务质量
Kbd交互式身份验证
Kbd交互式设备
Kex算法
本地命令
本地转发
日志级别
媒体访问控制
匹配
NoHostAuthenticationForLocalhost
密码提示数
密码验证
允许本地命令
PKCS11提供者
港口
首选身份验证
协议
代理命令
代理使用Fdpass
公钥接受的密钥类型
公钥认证
密钥限制
远程转发
请求TTY
RhostsRSA身份验证
RSA认证
发送环境
服务器活动间隔
服务器最大活动计数
流本地绑定掩码
流本地绑定取消链接
严格的主机密钥检查
TCP保活
隧道
隧道设备
更新主机密钥
使用特权端口
用户
用户已知主机文件
验证主机密钥DNS
可视主机密钥
验证位置
-p 端口
要连接到远程主机上的端口。 这可以在每个主机的基础上指定
配置文件。
-Q 查询选项
查询 SSH 对于指定版本 2 支持的算法。可用
特点是: 暗号 (支持的对称密码), 密码验证 (支持对称
支持经过身份验证的加密的密码), MAC (支持的消息完整性
代码), KEX (密钥交换算法), 键 (关键类型), 密钥证书 (证书密钥
类型), 平淡无奇 (非证书密钥类型),和 协议版本 (支持SSH
协议版本)。
-q 静音模式。 导致大多数警告和诊断消息被抑制。
-R [绑定地址:]端口:主持人:主机端口
-R [绑定地址:]端口:本地套接字
-R 远程套接字:主持人:主机端口
-R 远程套接字:本地套接字
指定到远程给定 TCP 端口或 Unix 套接字的连接
(服务器)主机将被转发到给定的主机和端口,或 Unix 套接字,在
当地。 这通过分配一个套接字来侦听 TCP 端口 或
远程端的 Unix 套接字。 每当连接到此端口或
Unix socket,连接通过安全通道转发,一个连接
是为了 主持人 端口 主机端口或 本地套接字, 从本地机器。
端口转发也可以在配置文件中指定。 特权端口
只有在远程机器上以 root 身份登录时才能转发。 IPv6 地址
可以通过将地址括在方括号中来指定。
默认情况下,服务器上的 TCP 侦听套接字将绑定到环回
仅接口。 这可以通过指定一个 绑定地址. 一个空的
绑定地址,或地址“*”,表示远程套接字应该监听
所有接口。 指定远程 绑定地址 只有当服务器的
网关端口 选项已启用(请参阅 sshd_配置(5))。
如果 端口 参数为'0',监听端口将在
服务器并在运行时报告给客户端。 当与 -O 前锋
分配的端口将打印到标准输出。
-S 控制路径
指定用于连接共享的控制套接字的位置,或字符串
“无”禁用连接共享。 参考说明 控制路径 和
控制大师 in ssh_配置(5) 详情。
-s 可用于请求调用远程系统上的子系统。 子系统
促进使用 SSH 作为其他应用程序的安全传输(例如
SFTP(1))。 子系统被指定为远程命令。
-T 禁用伪终端分配。
-t 强制伪终端分配。 这可用于执行任意屏幕-
基于远程机器上的程序,这可能非常有用,例如在实现
菜单服务。 多种的 -t 选项强制 tty 分配,即使 SSH 没有本地
tty。
-V 显示版本号并退出。
-v 详细模式。 原因 SSH 打印有关其进度的调试消息。 这是
有助于调试连接、身份验证和配置问题。
多 -v 选项增加了冗长。 最大值为 3。
-W 主持人:端口
请求将客户端上的标准输入和输出转发到 主持人 on 端口
通过安全通道。 暗示 -N, -T, 退出转发失败 和
清除所有转发.
-w 本地_tun[:远程调谐器]
请求使用指定的隧道设备转发 做(4) 设备之间
客户 (本地_tun) 和服务器 (远程调谐器).
设备可以通过数字 ID 或关键字“any”指定,它使用
下一个可用的隧道设备。 如果 远程调谐器 未指定,默认为“any”。
另见 隧道 和 隧道设备 指令在 ssh_配置(5). 如果 隧道
指令未设置,它被设置为默认隧道模式,即“点对点”。
-X 启用 X11 转发。 这也可以在每个主机的基础上指定
配置文件。
应谨慎启用 X11 转发。 具有绕过能力的用户
远程主机上的文件权限(对于用户的 X 授权数据库)可以
通过转发的连接访问本地 X11 显示器。 然后攻击者可能
能够执行诸如按键监控之类的活动。
为此,X11转发受到X11 SECURITY扩展限制
默认情况下。 请参考 SSH -Y 选项和 转发X11 指示
in ssh_配置(5) 了解更多信息。
(Debian 特有的:X11 转发不受 X11 安全扩展的约束
默认情况下有限制,因为目前有太多程序在此模式下崩溃。
设置 转发X11 选择“否”以恢复上游行为。 这个
根据客户端的改进,将来可能会发生变化。)
-x 禁用 X11 转发。
-Y 启用受信任的 X11 转发。 可信 X11 转发不受
X11 安全扩展控件。
(Debian 特定的:这个选项在默认配置中什么都不做:它是
相当于 ”转发X11 是”,这是如上所述的默认值。 放
此 转发X11 选择“否”以恢复上游行为。 这可能
根据客户端的改进,将来会发生变化。)
-y 使用发送日志信息 系统日志(3)系统模块。 默认情况下此信息
被发送到标准错误。
SSH 还可以从每个用户的配置文件和一个
系统范围的配置文件。 文件格式和配置选项在
ssh_配置(5)。
认证
OpenSSH SSH 客户端支持SSH 协议1 和2,默认使用协议2
只是,虽然这可以通过 协议 选项 ssh_配置(5) 或 -1 和 -2
选项(见上文)。 协议 1 不应被使用,仅用于支持遗留
设备。 它存在许多加密弱点,并且不支持许多
协议 2 可用的高级功能。
可用于身份验证的方法有:基于 GSSAPI 的身份验证、基于主机的身份验证
身份验证、公钥身份验证、质询-响应身份验证和密码
验证。 身份验证方法按上面指定的顺序尝试,但
首选身份验证 可用于更改默认顺序。
基于主机的身份验证的工作原理如下:如果列出了用户登录的机器
in /etc/hosts.equiv or /etc/ssh/shosts.equiv 在远程机器上,用户名是
双方相同,或者如果文件 〜/.rhosts or 〜/.shosts 存在于用户家中
远程机器上的目录并包含一行包含客户端机器的名称
以及那台机器上的用户名,该用户被认为是登录。 此外,
服务器 必须 能够验证客户端的主机密钥(见描述
/etc/ssh/ssh_known_hosts 和 〜/.ssh/known_hosts, 下面) 以允许登录。 这个
身份验证方法关闭由于 IP 欺骗、DNS 欺骗和路由导致的安全漏洞
欺骗。 [管理员注意事项: /etc/hosts.equiv, 〜/.rhosts, 和 rlogin/rsh
一般来说,协议本质上是不安全的,如果需要安全,应该禁用。]
公钥认证的工作原理如下: 该方案基于公钥密码学,
使用加密系统,其中使用单独的密钥进行加密和解密,并且它是
从加密密钥推导出解密密钥是不可行的。 这个想法是每个用户
创建用于身份验证的公钥/私钥对。 服务器知道公众
密钥,只有用户知道私钥。 SSH 实现公钥认证
协议使用 DSA、ECDSA、Ed25519 或 RSA 算法之一。 历史
部分 SSL(8)(在非 OpenBSD 系统上,请参阅
http://www.openbsd.org/cgi-bin/man.cgi?query=ssl&sektion=8#HISTORY) 包含一个简短的
DSA 和 RSA 算法的讨论。
该文件 〜/.ssh/authorized_keys 列出允许登录的公钥。
当用户登录时, SSH 程序告诉服务器它想使用哪个密钥对
用于身份验证。 客户端证明它可以访问私钥和服务器
检查相应的公钥是否有权接受该帐户。
用户通过运行创建他/她的密钥对 SSH-凯基(1). 这将私钥存储在
~/.ssh/身份 (协议1), 〜/ .ssh / id_dsa (每日动态广告), 〜/.ssh/id_ecdsa (ECDSA),
〜/.ssh/id_ed25519 (Ed25519),或 〜/ .ssh / id_rsa (RSA) 并将公钥存储在
〜/.ssh/identity.pub (协议1), 〜/.ssh/id_dsa.pub (每日动态广告), 〜/.ssh/id_ecdsa.pub (ECDSA),
〜/.ssh/id_ed25519.pub (Ed25519),或 〜/.ssh/id_rsa.pub (RSA) 在用户的主目录中。
然后用户应该将公钥复制到 〜/.ssh/authorized_keys 在他/她的主目录中
在远程机器上。 这 授权密钥 文件对应于常规 〜/.rhosts
文件,每行有一个键,但行可能很长。 在此之后,用户可以
登录而不提供密码。
公钥身份验证的变体以证书的形式提供
身份验证:使用签名证书而不是一组公钥/私钥。 这个
优点是可以使用单个受信任的证书颁发机构代替许多
公钥/私钥。 请参阅证书部分 SSH-凯基(1) 了解更多信息。
使用公钥或证书身份验证最方便的方法可能是使用
身份验证代理。 看 SSH代理(1) 和(可选) 添加密钥到代理 指令在
ssh_配置(5) 了解更多信息。
质询-响应身份验证的工作原理如下:服务器发送任意
“挑战”文本,并提示您做出回应。 质询-响应认证示例
包括 BSD 身份验证(请参阅 登录配置文件(5)) 和 PAM(一些非 OpenBSD 系统)。
最后,如果其他身份验证方法失败, SSH 提示用户输入密码。 这
密码发送到远程主机进行检查; 但是,由于所有通信都是
加密,在网络上侦听的人无法看到密码。
SSH 自动维护和检查包含所有主机标识的数据库
曾经使用过。 主机密钥存储在 〜/.ssh/known_hosts 在用户家中
目录。 此外,该文件 /etc/ssh/ssh_known_hosts 被自动检查
已知的主机。 任何新主机都会自动添加到用户的文件中。 如果一个主机
身份不断变化, SSH 对此发出警告并禁用密码身份验证
防止服务器欺骗或中间人攻击,否则这些攻击可用于
绕过加密。 这 严格的主机密钥检查 选项可用于控制登录
到主机密钥未知或已更改的机器。
当用户的身份被服务器接受后,服务器要么执行
在非交互式会话中给定命令,或者,如果未指定命令,则登录
机器并为用户提供一个普通的 shell 作为交互式会话。 所有通讯
用远程命令或shell 会自动加密。
如果请求交互式会话 SSH 默认情况下只会请求一个伪终端
(pty) 用于客户端有一个交互式会话。 旗帜 -T 和 -t 可用于
覆盖此行为。
如果已经分配了伪终端,用户可以使用下面提到的转义字符。
如果没有分配伪终端,会话是透明的,可用于
可靠地传输二进制数据。 在大多数系统上,将转义字符设置为“none”将
即使使用了 tty,也会使会话透明。
当远程机器上的命令或 shell 退出并且所有 X11 和
TCP 连接已关闭。
- EP 字元
当请求伪终端时, SSH 支持多种功能,通过
使用转义字符。
单个波浪号字符可以作为 ~~ 或者通过一个字符跟随波浪号
比下面描述的那些。 转义字符必须始终跟在换行符之后
解释为特殊。 可以使用在配置文件中更改转义字符
此 转义字符 配置指令或在命令行上由 -e 选项。
支持的转义(假设默认的“~”)是:
~. 断开。
〜^Z 背景 SSH.
~# 列出转发的连接。
~& 背景 SSH 在等待转发连接/X11 会话时注销
终止。
~? 显示转义字符列表。
~B 向远程系统发送 BREAK(仅当对等方支持时才有用)。
~C 打开命令行。 目前这允许添加端口转发使用
-L, -R 和 -D 选项(见上文)。 它还允许取消现有的
端口转发与 -KL[绑定地址:]端口 对于本地, -KR[绑定地址:]端口
远程和 -KD[绑定地址:]端口 用于动态端口转发。 !命令 允许
用户执行本地命令,如果 允许本地命令 选项已启用
ssh_配置(5). 提供基本帮助,使用 -h 选项。
~R 请求重新加密连接(仅在对等方支持时才有用)。
~V 减少冗长(日志级别) 当错误被写入 stderr 时。
~v 增加冗长(日志级别) 当错误被写入 stderr 时。
TCP 转发
可以指定通过安全通道转发任意 TCP 连接
命令行或配置文件中。 TCP 转发的一种可能应用是
与邮件服务器的安全连接; 另一个是通过防火墙。
在下面的例子中,我们看看加密 IRC 客户端和服务器之间的通信,
即使 IRC 服务器不直接支持加密通信。 这有效
如下:用户连接到远程主机使用 SSH, 指定要用于的端口
将连接转发到远程服务器。 之后就可以启动服务了
这将在客户端计算机上加密,连接到相同的本地端口,以及 SSH
将加密并转发连接。
以下示例将 IRC 会话从客户端计算机“127.0.0.1”(本地主机)传输到
远程服务器“server.example.com”:
$ ssh -f -L 1234:localhost:6667 server.example.com 睡眠 10
$ irc -c '#users' -p 1234 小指 127.0.0.1
这通过隧道连接到 IRC 服务器“server.example.com”,加入频道“#users”,
昵称“pinky”,使用端口1234。使用哪个端口并不重要,只要它是
大于 1023(记住,只有 root 可以在特权端口上打开套接字)并且不
与任何已在使用的端口冲突。 连接被转发到 6667 端口
远程服务器,因为这是 IRC 服务的标准端口。
这款 -f 期权背景 SSH 并且指定了远程命令“sleep 10”以允许
启动要通过隧道传输的服务的时间(在示例中为 10 秒)。
如果在指定时间内没有建立连接, SSH 将退出。
X11 转发
如果 前进X11 变量设置为“是”(或参见 -X, -x及 -Y
上面的选项)并且用户正在使用 X11(设置了 DISPLAY 环境变量),
与 X11 显示器的连接以这种方式自动转发到远程端
任何从 shell(或命令)启动的 X11 程序都将通过加密
通道,和真正的 X 服务器的连接将从本地机器进行。 这
用户不应手动设置 DISPLAY。 X11 连接的转发可以配置在
命令行或配置文件中。
DISPLAY 值由 SSH 将指向服务器机器,但带有显示编号
大于零。 这是正常现象,发生的原因是 SSH 在上创建一个“代理”X 服务器
用于通过加密通道转发连接的服务器机器。
SSH 还将在服务器计算机上自动设置 Xauthority 数据。 以此目的,
它将生成一个随机授权cookie,将其存储在服务器上的Xauthority中,并且
验证任何转发的连接都携带此 cookie 并将其替换为真实的 cookie
当连接打开时。 真正的身份验证 cookie 永远不会发送到服务器
机器(并且没有以明文形式发送 cookie)。
如果 转发代理 变量设置为“是”(或参见 -A 和 -a
上面的选项)并且用户正在使用身份验证代理,与代理的连接是
自动转发到远端。
验证中 主办方 KEYS
第一次连接服务器时,服务器公钥的指纹是
呈现给用户(除非选项 严格的主机密钥检查 已被禁用)。
指纹可以确定使用 SSH-凯基(1):
$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key
如果指纹是已知的,则可以进行匹配并且可以接受密钥或
拒绝了。 如果只有服务器的旧版 (MD5) 指纹可用,则 SSH-凯基(1)
-E 选项可用于降级指纹算法以匹配。
由于仅通过查看指纹字符串很难比较主机密钥,
还支持在视觉上比较主机密钥,使用 随机 艺术. 通过设置
可视主机密钥 选择“是”,每次登录时都会显示一个小的 ASCII 图形
服务器,无论会话本身是否是交互式的。 通过学习模式a
已知服务器产生,用户可以很容易地发现主机密钥已经改变,当
显示完全不同的图案。 因为这些模式并不明确
然而,一个看起来与记忆中的模式相似的模式只会给出一个好的
主机密钥相同的概率,不能保证证明。
要获取所有已知主机的指纹及其随机艺术的列表,
可以使用以下命令行:
$ ssh-keygen -lv -f 〜/.ssh/known_hosts
如果指纹未知,则可以使用另一种验证方法:SSH
DNS 验证指纹。 一个额外的资源记录 (RR),SSHFP,被添加到一个
zonefile 和连接的客户端能够将指纹与密钥的指纹匹配
提出了。
在此示例中,我们将客户端连接到服务器“host.example.com”。 SSHFP
应首先将资源记录添加到 host.example.com 的区域文件中:
$ ssh-keygen -r host.example.com。
必须将输出行添加到区域文件中。 检查防区是否正在应答
指纹查询:
$ dig -t SSHFP 主机.example.com
最后客户端连接:
$ ssh -o "VerifyHostKeyDNS ask" host.example.com
[...]
在 DNS 中找到匹配的主机密钥指纹。
您确定要继续连接(是/否)吗?
查看 验证主机密钥DNS 选项 ssh_配置(5) 了解更多信息。
基于 SSH VIRTUAL 私人 NETWORKS
SSH 包含对使用虚拟专用网络 (VPN) 隧道的支持 做(4) 网络
伪设备,允许两个网络安全地加入。 这 sshd_配置(5)
配置选项 许可隧道 控制服务器是否支持这个,以及支持什么
级别(第 2 层或第 3 层流量)。
以下示例将客户端网络 10.0.50.0/24 与远程网络连接
10.0.99.0/24 使用从 10.1.1.1 到 10.1.1.2 的点对点连接,前提是
在远程网络的网关上运行的 SSH 服务器(位于 192.168.1.15)允许它。
在客户端:
# ssh -f -w 0:1 192.168.1.15 真
# ifconfig tun0 10.1.1.1 10.1.1.2 网络掩码 255.255.255.252
# 路由添加 10.0.99.0/24 10.1.1.2
在服务器上:
# ifconfig tun1 10.1.1.2 10.1.1.1 网络掩码 255.255.255.252
# 路由添加 10.0.50.0/24 10.1.1.1
客户端访问可以通过 /root/.ssh/authorized_keys 文件(见下文)
和 允许Root登录 服务器选项。 以下条目将允许连接
做(4) 来自用户“jane”的设备 1 和来自用户“john”的 tun 设备 2,如果 允许Root登录 is
设置为“仅限强制命令”:
隧道=“1”,命令=“sh /etc/netstart tun1” ssh-rsa ... jane
隧道=“2”,命令=“sh /etc/netstart tun2”ssh-rsa ...约翰
由于基于 SSH 的设置需要相当多的开销,因此它可能更适合于
临时设置,例如无线 VPN。 更好地提供更永久的 VPN
诸如 ipsecctl(8)和 伊萨克姆普德(8)。
环境
SSH 通常会设置以下环境变量:
DISPLAY DISPLAY 变量指示 X11 服务器的位置。 这是
自动设置 SSH 指向“hostname:n”形式的值,
其中“hostname”表示shell运行的主机,“n”是
一个 ≥ 1 的整数。 SSH 使用此特殊值转发 X11
通过安全通道连接。 用户通常不应设置
显式显示,因为这会使 X11 连接不安全
(并且将要求用户手动复制任何所需的授权
饼干)。
HOME 设置为用户主目录的路径。
LOGNAME 用户的同义词; 设置为与使用它的系统兼容
变量。
MAIL 设置为用户邮箱的路径。
PATH 设置为默认PATH,编译时指定 SSH.
SSH_ASKPASS 如果 SSH 需要密码,它会从密码中读取密码
当前终端,如果它是从终端运行的。 如果 SSH 不具有
一个与之关联的终端,但设置了 DISPLAY 和 SSH_ASKPASS,它
将执行 SSH_ASKPASS 指定的程序并打开一个 X11
读取密码的窗口。 这在以下情况下特别有用
调用 SSH 从 .xsession 或相关脚本。 (请注意,在某些
机器可能需要重定向输入 的/ dev / null的 至
使这项工作。)
SSH_AUTH_SOCK 标识用于通信的 UNIX 域套接字的路径
中介。
SSH_CONNECTION 标识连接的客户端和服务器端。 变量
包含四个以空格分隔的值:客户端 IP 地址、客户端端口
号、服务器 IP 地址和服务器端口号。
SSH_ORIGINAL_COMMAND 如果强制命令,此变量包含原始命令行
被执行。 它可用于提取原始参数。
SSH_TTY 这被设置为关联的 tty(设备路径)的名称
使用当前的 shell 或命令。 如果当前会话没有 tty,
未设置此变量。
TZ 此变量设置为指示当前时区(如果已设置)
当守护进程启动时(即守护进程将值传递给
新连接)。
USER 设置为登录的用户名。
此外, SSH 读 ~/.ssh/环境, 并将“VARNAME=value”格式的行添加到
如果文件存在并且允许用户更改其环境,则为环境。 为了
更多信息,请参阅 许可用户环境 选项 sshd_配置(5)。
使用 onworks.net 服务在线使用 ssh