ssh使用详解

ssh使用详解,第1张

简单来说,ssh是一种 网络协议 ,用于计算机之间的加密登录。如果一个用户从本地计算机,使用ssh协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

SSH 之所以安全是采用了公钥加密的方式,通过客户自己签发公钥加密用户密码,再通过主机持有的私钥解密;不像 HTTPS 协议存在证书管理中心CA用于验证公钥的合法性,因此,存在被中间人劫持的风险,即劫持登录请求发送篡改的公钥来截获用户登录密码,俗称”中间人攻击“;

不过 SSH 存在一套自有的验证方式:口令验证及密钥验证,可有效避免大部分的攻击;

使用上述命令测试连接性及验证流程;

通过 ssh-keygen 工具生成本地公钥文件,常用命令如下:

在 $HOME/.ssh/ 目录下,会新生成两个文件: id_rsa.pub 和 id_rsa 。 id_rsa.pub 是公钥, id_rsa 是私钥,其中 id_rsa 为默认文件名称,若如上图指定了文件路径及名称,则按照指定路径及文件名生成;

说明:若 ssh 登录使用密钥验证方式登录,则需要输入私钥的密码(生成密钥时指定的密码),若使用 ssh-agent 代理,则在同一个 session 会话下,只需要输入一次私钥密码即可,由 ssh-agent 帮我们代理,避免每次登录都需要输入私密码;

若登录时未开启,可手动开启 ssh-agent ,可通过如下命令:

添加生成的 SSH key 到 ssh-agent :

查看添加的 SSH key :

若需要免密登录,则需要将用户的 public key 文件内存追加复制到登录主机的 authorized_keys 配置文件中(默认路径为 ~/.ssh/authorized_keys ),或者直接通过 ssh-copy-id 工具完成,具体如下:

使用上述命令后即可实现 免密登录

ssh 配置包括系统级别的(针对客户端的默认为 /etc/ssh/ssh_config ,针对服务端的``/etc/ssh/sshd_config )及用户级别的配置文件(默认为 ~/.ssh/config`);且配置文件存在优先级,低优先级的配置项可视作默认值;而高优先级的配置项则会覆盖默认值。按优先级,有如下排序:

/etc/ssh/config 配置文件选项如下:

/etc/ssh/sshd_config 配置文件选项如下:

常用的选项如下:

ssh -T [email protected] 验证连接性,成功如下:

ssh配置文件详解

git-ssh 配置和使用

ssh-keygen - Generate a New SSH Key

最佳搭档:利用 SSH 及其配置文件节省你的生命

原文链接之前两篇文章 利用SSH代理访问内网资源 和 使用SSH代理在本地开发环境调试各种回调 两篇文章,介绍了ssh的各种代理姿势,SSH的功能确实强悍。如果用过ssh代理功能,就有人要问了,我能否限制用户只允许使用代理功能,而不允许用户登录到我的系统中呢? 当然可以!否则又怎么会称为SSH(注:SSH是Secure Shell的缩写)呢?连权限都不能保障怎么敢叫 Secure 呢?本篇文章就来详解下SSH的花式权限,来点不一样的干货。 先谈谈SSH有哪些功能,才能谈到每个功能有哪些权限。SSH最常见的有三大功能: 其次是SSH是一个典型的C/S应用,服务端运行 sshd 守护进程,监听 TCP/22 端口(默认情况下),客户端运行 ssh 程序,远程连接 sshd 应用,使用以上三种功能。sshd 使用 /etc/ssh/sshd_config 和 ~/.ssh/authorized_keys (这个文件仅用于做密钥认证的配置,如果和sshd_config配置冲突则此文件配置生效。此配置文件可以实现细化到密钥的权限,gitlab使用此配置实现用户的ssh访问控制)配置文件做服务配置, ssh 客户端使用 /etc/ssh/ssh_config (全局配置)和 ~/.ssh/config (个性配置)两个配置文件(windows 10的openssh使用 %USERPROFILE%\.ssh\config )。默认配置文件几乎不用动,ssh就帮我们做好了开箱即用的配置。本文不会讲解ssh每个配置项的含义,只会根据一些场景讲解对应的权限控制,所有场景都是以默认配置为基准,讲解一些常用的配置,一些不常用的配置项就不提及了。 下面我们将详解每个功能的权限 最基本的使用方式,直接远程连接到服务器的shell上,实现远程控制的需求。 只要用户满足以下条件之一,ssh便会拒绝登录: 所以通常创建一个低权限账户,只负责运行本地服务的,使用的useradd命令大致如下: 新用户无密码,并且不是一个合法的shell,所以根本没法登录 如果连motd信息都不想让用户看到,可以直接创建一个 ~/.hushlogin 空文件即可。如果想通过修改配置文件,那么需要同时修改 /etc/sshd_config ( PrintMotd no )和 /etc/pam.d/sshd (去掉 pam_motd.so 加载),比较麻烦。 设置 PermitRootLogin 选项即可。 no 表示彻底拒绝root远程登录,想要切换成root就只能通过普通用户的 su - 或 sudo -i 切换root身份了。 prohibit-password 和 without-password (Ubuntu 14.04以后默认)表示拒绝密码登录,表示只能通过密钥登录了。 forced-commands-only 选项表示只允许密钥认证,但是必须给定 command ,也就是非交互式执行ssh。 这个其实办法很多,比如在防火墙控制,在 /etc/hosts.(deny|allow) 控制等,其实在 /etc/sshd_config 也可以控制,方法就是使用 Match address ,比如: 用sshd配置本身做ip白名单的比较少,但是 Match 配置却是一个非常有用的配置项,它可以实现我们对用户或用户组区别对待,这个我们会在后面再细说。 有关代理的使用可以参考我之前写的 利用SSH代理访问内网资源 和 使用SSH代理在本地开发环境调试各种回调 两篇文章。 x11转发功能实际应用会非常罕见,作用是将远程的图形数据在本地的X server上展示,以实现本地 *** 作远程图形程序的功能。首先是Linux服务器大多运行在无图形环境下,本身就没有图形化程序跑在上面,再加上客户机可能多数是windows,又没有X环境,更加限制了这个功能的使用。还有就是x11 forwarding性能不是很好,实际使用会发现非常卡,不适合使用那种对响应速度要求比较灵敏的应用程序,比如浏览器,在x11 forwarding下运行动图会非常卡。最后就是需要跑图形化程序的服务器多数都安装有桌面环境,配置有vnc,因此就更没有人愿意使用这个功能了。 如果不希望所有端口都能用于转发请求,可以配置 PermitOpen 参数: 如果允许多个端口用于转发,那么必须一个个配置出来, any (默认)表示所有端口都允许用于转发。 这个比较繁琐,因为目前常见的通过ssh传输文件的有三个命令 scp , rsync , sftp 。它们的机制不一样,其中 scp 和 rsync 是通过远程非交互式执行命令实现的,而 sftp 是通过openssh的sftp server实现的。 对于 scp 和 rsync ,只需要限制非交互式命令就可以了,比如 或在 ~/.ssh/authorized_keys 对应的rsa public key 前面加上 command="/bin/bash" (参考gitlab的 /var/opt/gitlab/.ssh/authorized_keys ),效果是等效的。这样就可以实现允许用户远程登录系统,但是 scp 和 rsync 命令失效,同时由于限定死了command参数,导致你的非交互式ssh命令也无法使用了,比如 ssh user@ip ls / 这一类非交互式ssh不起作用了。 但是对于 sftp 的限制则要容易的多,因为 sftp 权限是单独分开的,不和ssh命令执行权限混在一起,并且sftp也和ftp一样,有自带的一些命令实现(比如ls, cd, get, put等等),如果设置 或等效的 ~/.ssh/authorized_keys 配置,则表示只允许使用sftp,不允许shell登录。如果配置中去掉 Subsystem sftp /usr/lib/openssh/sftp-server 这一行就可以关闭sftp服务 经常时候我们需要混合以上各种权限使用。比如某些用户我们开放出来,但是限制它的功能,此时 Match 配置就是我们的好朋友了。 由于用户不能登录shell,不能使用密码认证,因此想要使用代理,必须使用类似于下面的命令: 使用 -i 参数指定私钥文件用于公钥认证,使用 -N 参数表示不执行远程命令,仅仅使用port forwarding。 这里我们Match了 sftp-only 这个组,在这个组下面的用户都使用下面的配置。使用了ForceCommand,因此不能登录shell,使用了 ChrootDirectory 限制了用户的根目录,关闭了各种转发功能。 通过 Match 的组合,我们可以很方便的限制一些特定用户的权限,这样就实现了ssh用户的一些特殊化管理。 这里只是按照一些可能遇到的场景讲解了下 sshd_config 的配置,对于等效的 ~/.ssh/authorized_keys 配置同样适用。其实ssh还有很多强大的功能,但是用的可能比较少,这里就不详细讲解那些不太常见的参数了,有兴趣的读者可以自行查阅man手册获取更多资料:

service sshd restart

名称     sshd _ config - OpenSSH SSH

服务器守护进程配置文件

大纲    /etc/ssh/sshd _ config

描述   

        sshd(8) 默认从 /etc/ssh/sshd_config 文件(或通过 -f 命令行选项指定的文件)读取配置信息。   

        配置文件是由"指令 值"对组成的,每行一个。空行和以'#'开头的行都将被忽略。   

        如果值中含有空白符或者其他特殊符号,那么可以通过在两边加上双引号(")进行界定。   

        [注意]值是大小写敏感的,但指令是大小写无关的。   

当前所有可以使用的配置指令如下:

指定客户端发送的哪些环境变量将会被传递到会话环境中。

[注意]只有SSH-2协议支持环境变量的传递。           

细节可以参考 ssh_config(5) 中的 SendEnv 配置指令。           

指令的值是空格分隔的变量名列表(其中可以使用'*'和'?'作为通配符)。也可以使用多个    AcceptEnv 达到同样的目的。           

需要注意的是,有些环境变量可能会被用于绕过禁止用户使用的环境变量。由于这个原因,该指令应当小心使用。默认是不传递任何环境变量。

指定 sshd(8) 应当使用哪种地址族。取值范围是:"any"(默认)、"inet"(仅IPv4)、"inet6"(仅IPv6)。

这个指令后面跟着一串用空格分隔的组名列表(其中可以使用"*"和"?"通配符)。默认允许所有组登录。           

如果使用了这个指令,那么将仅允许这些组中的成员登录,而拒绝其它所有组。          

这里的"组"是指"主组"(primary group),也就是/etc/passwd文件中指定的组。           

这里只允许使用组的名字而不允许使用GID。相关的 allow/deny 指令按照下列顺序处理: DenyUsers , AllowUsers , DenyGroups , AllowGroups

是否允许TCP转发,默认值为"yes"。           

禁止TCP转发并不能增强安全性,除非禁止了用户对shell的访问,因为用户可以安装他们自己的转发器。

这个指令后面跟着一串用空格分隔的用户名列表(其中可以使用"*"和"?"通配符)。默认允许所有用户登录。           

如果使用了这个指令,那么将仅允许这些用户登录,而拒绝其它所有用户。           

如果指定了 USER@HOST 模式的用户,那么 USER 和 HOST 将同时被检查。

例如:

          AllowUsers [email protected]

指定多用户用空格

          AllowUsers [email protected] users1

这里只允许使用用户的名字而不允许使用UID。相关的 allow/deny 指令按照下列顺序处理: DenyUsers , AllowUsers , DenyGroups , AllowGroups

存放该用户可以用来登录的 RSA/DSA 公钥。           

该指令中可以使用下列根据连接时的实际情况进行展开的符号:           

%% 表示'%'、%h 表示用户的主目录、%u 表示该用户的用户名。           

经过扩展之后的值必须要么是绝对路径,要么是相对于用户主目录的相对路径。           

默认值是".ssh/authorized_keys"。

将这个指令指定的文件中的内容在用户进行认证前显示给远程用户。           

这个特性仅能用于SSH-2,默认什么内容也不显示。"none"表示禁用这个特性。

是否允许质疑-应答(challenge-response)认证。默认值是"yes"。           

所有 login.conf(5) 中允许的认证方式都被支持。

指定SSH-2允许使用的 加密 算法。多个算法之间使用逗号分隔。可以使用的算法如下:            "aes128-cbc", "aes192-cbc", "aes256-cbc", "aes128-ctr", "aes192-ctr", "aes256-ctr",            "3des-cbc", "arcfour128", "arcfour256", "arcfour", "blowfish-cbc", "cast128-cbc"           

默认值是可以使用上述所有算法。

sshd(8) 在未收到任何客户端回应前最多允许发送多少个"alive"消息。默认值是 3 。           

到达这个上限后,sshd(8) 将强制断开连接、关闭会话。           

需要注意的是,"alive"消息与 TCPKeepAlive 有很大差异。           

"alive"消息是通过加密连接发送的,因此不会被欺骗;而 TCPKeepAlive 却是可以被欺骗的。

如果 ClientAliveInterval 被设为 15 并且将 ClientAliveCountMax 保持为默认值, 那么无应答的客户端大约会在45秒后被强制断开。这个指令仅可以用于SSH-2协议。

设置一个以秒记的时长,如果超过这么长时间没有收到客户端的任何数据,           

sshd(8) 将通过安全通道向客户端发送一个"alive"消息,并等候应答。           

默认值 0 表示不发送"alive"消息。这个选项仅对SSH-2有效。

是否对通信数据进行加密,还是延迟到认证成功之后再对通信数据加密。           

可用值:"yes", "delayed"(默认), "no"。

这个指令后面跟着一串用空格分隔的组名列表(其中可以使用"*"和"?"通配符)。默认允许所有组登录。           

如果使用了这个指令,那么这些组中的成员将被拒绝登录。           

这里的"组"是指"主组"(primary group),也就是/etc/passwd文件中指定的组。           

这里只允许使用组的名字而不允许使用GID。相关的 allow/deny 指令按照下列顺序处理: DenyUsers , AllowUsers , DenyGroups , AllowGroups

这个指令后面跟着一串用空格分隔的用户名列表(其中可以使用"*"和"?"通配符)。默认允许所有用户登录。           

如果使用了这个指令,那么这些用户将被拒绝登录。           

如果指定了 USER@HOST 模式的用户,那么 USER 和 HOST 将同时被检查。           

这里只允许使用用户的名字而不允许使用UID。相关的 allow/deny 指令按照下列顺序处理: DenyUsers , AllowUsers , DenyGroups , AllowGroups

强制执行这里指定的命令而忽略客户端提供的任何命令。这个命令将使用用户的登录shell执行(shell -c)。           

这可以应用于 shell 、命令、子 系统 的完成,通常用于 Match 块中。           

这个命令最初是在客户端通过 SSH_ORIGINAL_COMMAND 环境变量来支持的。

是否允许远程主机连接本地的转发端口。默认值是"no"。           

sshd(8) 默认将远程端口转发绑定到loopback地址。这样将阻止其它远程主机连接到转发端口。 GatewayPorts 指令可以让 sshd 将远程端口转发绑定到非loopback地址,这样就可以允许远程主机连接了。           

"no"表示仅允许本地连接,"yes"表示强制将远程端口转发绑定到统配地址(wildcard address), 

"clientspecified"表示允许客户端选择将远程端口转发绑定到哪个地址。

是否允许使用基于 GSSAPI 的用户认证。默认值为"no"。仅用于SSH-2。

是否在用户退出登录后自动销毁用户凭证缓存。默认值是"yes"。仅用于SSH-2。

这个指令与 RhostsRSAAuthentication 类似,但是仅可以用于SSH-2。推荐使用默认值"no"。  

推荐使用默认值"no"禁止这种不安全的认证方式。

在开启 HostbasedAuthentication 的情况下,指定服务器在使用 ~/.shosts ~/.rhosts /etc/hosts.equiv 进行远程主机名匹配时,是否进行反向域名查询。           

"yes"表示 sshd(8) 信任客户端提供的主机名而不进行反向查询。默认值是"no"。

主机私钥文件的位置。如果权限不对,sshd(8) 可能会拒绝启动。           

SSH-1默认是 /etc/ssh/ssh_host_key 。           

SSH-2默认是 /etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key 。           

一台主机可以拥有多个不同的私钥。"rsa1"仅用于SSH-1,"dsa"和"rsa"仅用于SSH-2。

是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 过程中忽略 .rhosts 和 .shosts 文件。          

不过 /etc/hosts.equiv 和 /etc/shosts.equiv 仍将被使用。推荐设为默认值"yes"。

是否在 RhostsRSAAuthentication 或 HostbasedAuthentication 过程中忽略用户的 ~/.ssh/known_hosts 文件。          

默认值是"no"。为了提高安全性,可以设为"yes"。

是否要求用户为 PasswordAuthentication 提供的密码必须通过 Kerberos KDC 认证,也就是是否使用Kerberos认证。           

要使用Kerberos认证,服务器需要一个可以校验 KDC identity 的 Kerberos servtab 。默认值是"no"。

如果使用了 AFS 并且该用户有一个 Kerberos 5 TGT,那么开启该指令后,将会在访问用户的家目录前尝试获取一个 AFS token 。默认为"no"。

如果 Kerberos 密码认证失败,那么该密码还将要通过其它的认证机制(比如 /etc/passwd )。      默认值为"yes"。

是否在用户退出登录后自动销毁用户的 ticket 。默认值是"yes"。

在SSH-1协议下,短命的服务器密钥将以此指令设置的时间为周期(秒),不断重新生成。            这个机制可以尽量减小密钥丢失或者 黑客 攻击造成的损失。

设为 0 表示永不重新生成,默认为 3600(秒)。

指定 sshd(8) 监听的网络地址,默认监听所有地址。可以使用下面的格式:

ListenAddress host | IPv4_addr | IPv6_addr

ListenAddress host | IPv4_addr : port

ListenAddress [ host | IPv6_addr ]: port

如果未指定 port ,那么将使用 Port 指令的值。           

可以使用多个 ListenAddress 指令监听多个地址。

限制用户必须在指定的时限内认证成功,0 表示无限制。默认值是 120 秒。

指定 sshd(8) 的日志等级(详细程度)。可用值如下:

     QUIET, FATAL, ERROR, INFO(默认), VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3         DEBUG 与 DEBUG1 等价;DEBUG2 和 DEBUG3 则分别指定了更详细、更罗嗦的日志输出。

比 DEBUG 更详细的日志可能会泄漏用户的敏感信息,因此反对使用。

指定允许在SSH-2中使用哪些消息摘要算法来进行数据校验。           

可以使用逗号分隔的列表来指定允许使用多个算法。默认值(包含所有可以使用的算法)是:       hmac-md5,hmac-sha1,[email protected],hmac-ripemd160,hmac-sha1-96,hmac-md5-96

引入一个条件块。块的结尾标志是另一个 Match 指令或者文件结尾。          

如果 Match 行上指定的条件都满足,那么随后的指令将覆盖全局配置中的指令。 Match 的值是一个或多个"条件-模式"对。可用的"条件"是: User , Group , Host , Address 。           

只有下列指令可以在 Match 块中使用:

AllowTcpForwarding,Banner,ForceCommand,GatewayPorts,GSSApiAuthentication,

KbdInteractiveAuthentication,KerberosAuthentication,PasswordAuthentication,

PermitOpen,PermitRootLogin,RhostsRSAAuthentication,RSAAuthentication,

X11DisplayOffset,X11Forwarding,X11UseLocalHost

指定每个连接最大允许的认证次数。默认值是 6 。           

如果失败认证的次数超过这个数值的一半,连接将被强制断开,且会生成额外的失败日志消息。

最大允许保持多少个未认证的连接。默认值是 10 。           

到达限制后,将不再接受新连接,除非先前的连接认证成功或超出 LoginGraceTime 的限制。

是否允许使用基于密码的认证。默认为"yes"。

是否允许密码为空的用户远程登录。默认为"no"。

指定TCP端口转发允许的目的地,可以使用空格分隔多个转发目标。默认允许所有转发请求。   合法的指令格式如下:

PermitOpen host : port

PermitOpen IPv4_addr : port

PermitOpen [IPv6_addr] : port

"any"可以用于移除所有限制并允许一切转发请求。

是否允许 root 登录。可用值如下:          

"yes"(默认) 表示允许。"no"表示禁止。          

"without-password"表示禁止使用密码认证登录。           

"forced-commands-only"表示只有在指定了 command 选项的情况下才允许使用公钥认证登录。   同时其它认证方法全部被禁止。这个值常用于做远程备份之类的事情。

是否允许 tun(4) 设备转发。可用值如下:

"yes", "point-to-point"(layer 3), "ethernet"(layer 2), "no"(默认)。           

"yes"同时蕴含着"point-to-point"和"ethernet"。

指定是否允许 sshd(8) 处理 ~/.ssh/environment 以及 ~/.ssh/authorized_keys 中的 environment= 选项。           

默认值是"no"。如果设为"yes"可能会导致用户有机会使用某些机制(比如 LD_PRELOAD)绕过访问控制,造成安全 漏洞 。

指定在哪个文件中存放SSH守护进程的进程号,默认为 /var/run/sshd.pid 文件。

指定 sshd(8) 守护进程监听的端口号,默认为 22 。可以使用多条指令监听多个端口。            默认将在本机的所有网络接口上监听,但是可以通过 ListenAddress 指定只在某个特定的接口上监听。

指定 sshd(8) 是否在每一次交互式登录时打印最后一位用户的登录时间。默认值是"yes"。

指定 sshd(8) 是否在每一次交互式登录时打印 /etc/motd 文件的内容。默认值是"yes"。

指定 sshd(8) 支持的SSH协议的版本号。          

'1'和'2'表示仅仅支持SSH-1和SSH-2协议。"2,1"表示同时支持SSH-1和SSH-2协议。

是否允许公钥认证。仅可以用于SSH-2。默认值为"yes"。

是否使用强可信主机认证(通过检查远程主机名和关联的用户名进行认证)。仅用于SSH-1。       

这是通过在RSA认证成功后再检查 ~/.rhosts 或 /etc/hosts.equiv 进行认证的。           

出于安全考虑,建议使用默认值"no"。

是否允许使用纯 RSA 公钥认证。仅用于SSH-1。默认值是"yes"。

指定临时服务器密钥的长度。仅用于SSH-1。默认值是 768(位)。最小值是 512 。

指定是否要求 sshd(8) 在接受连接请求前对用户主目录和相关的配置文件进行宿主和权限检查。           

强烈建议使用默认值"yes"来预防可能出现的低级错误。

配置一个外部子系统(例如,一个文件传输守护进程)。仅用于SSH-2协议。          

值是一个子系统的名字和对应的命令行(含选项和参数)。比如"sft /bin/sftp-server"。

指定 sshd(8) 将日志消息通过哪个日志子系统(facility)发送。有效值是:            DAEMON, USER, AUTH(默认), LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7

指定系统是否向客户端发送 TCP keepalive 消息。默认值是"yes"。          

这种消息可以检测到死连接、连接不当关闭、客户端崩溃等异常。           

可以设为"no"关闭这个特性。

指定 sshd(8) 是否应该对远程主机名进行反向解析,以检查此主机名是否与其IP地址真实对应。默认值为"yes"。

是否在交互式会话的登录过程中使用 login(1) 。默认值是"no"。           

如果开启此指令,那么 X11Forwarding 将会被禁止,因为 login(1) 不知道如何处理 xauth(1) cookies 。           

需要注意的是,login(1) 是禁止用于远程执行命令的。           

如果指定了 UsePrivilegeSeparation ,那么它将在认证完成后被禁用。

是否让 sshd(8) 通过创建非特权子进程处理接入请求的方法来进行权限分离。默认值是"yes"。 

认证成功后,将以该认证用户的身份创建另一个子进程。           

这样做的目的是为了防止通过有缺陷的子进程提升权限,从而使系统更加安全。

指定 sshd(8) X11 转发的第一个可用的显示区(display)数字。默认值是 10 。           

这个可以用于防止 sshd 占用了真实的 X11 服务器显示区,从而发生混淆。

是否允许进行 X11 转发。默认值是"no",设为"yes"表示允许。           

如果允许X11转发并且sshd(8)代理的显示区被配置为在含有通配符的地址( X11UseLocalhost )上监听。           

那么将可能有额外的信息被泄漏。由于使用X11转发的可能带来的风险,此指令默认值为"no"。           

需要注意的是,禁止X11转发并不能禁止用户转发X11通信,因为用户可以安装他们自己的转发器。           

如果启用了 UseLogin ,那么X11转发将被自动禁止。

sshd(8) 是否应当将X11转发服务器绑定到本地loopback地址。默认值是"yes"。           

sshd 默认将转发服务器绑定到本地loopback地址并将 DISPLAY 环境变量的主机名部分设为"localhost"。           

这可以防止远程主机连接到 proxy display 。不过某些老旧的X11客户端不能在此配置下正常工作。           

为了兼容这些老旧的X11客户端,你可以设为"no"。

指定 xauth(1) 程序的绝对路径。默认值是 /usr/X11R6/bin/xauth

在 sshd(8) 命令行参数和配置文件中使用的时间值可以通过下面的格式指定: time [ qualifier ] 。    其中的 time 是一个正整数,而 qualifier 可以是下列单位之一:         

<无 >    秒

s | S 秒

m | M 分钟

h | H 小时

d | D 天

w | W 星期   

可以通过指定多个数值来累加时间,比如:         

1h30m  1 小时 30 分钟 (90 分钟)

/etc/ssh/sshd_config           

sshd(8) 的主配置文件。这个文件的宿主应当是root,权限最大可以是"644"。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6042550.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-12
下一篇 2023-03-12

发表评论

登录后才能评论

评论列表(0条)

保存