阅读 63

ssh_config和sshd_config,sshd命令

远程管理Linux系统常用于ssh服务。 如果频繁更改Linux远程端口,则很容易忘记要更改的配置文件。 ssh_config、sshd_config这两个文件还容易在一个目录中混淆,所以我们尝试寻找别人的经验,详细记录这两个文件的区别

ssh_config和sshd_config都是ssh服务器配置文件,区别在于前者是客户端配置文件,后者是服务器端配置文件。 在这两种配置文件中,可以通过设置不同的选项来更改客户端程序的运行方式。 以下是两个配置文件中最重要的关键字之一,每行都有一个“关键字值”。 其中,“关键字”忽略大小写。

一.客户端查看/etc/ssh/ssh_config文件

# site-widedefaultsforvariousoptions

Host * ##'Host '只对与后面字符串匹配的计算机有效,“*”表示所有计算机。 正如您在此格式之前看到的,这是一个全局选项,表示底部缩进选项适用于此设置。 如果指定了计算机替换*符号,则只对该计算机启用以下选项:

如果有身份验证代理,ForwardAgent no ##会设置是否将连接传输到远程计算机。

ForwardX11 no ##设置X11连接是否自动重定向到安全通道和显示集

RhostsAuthentication no ##设置是否使用基于rhosts的安全验证。

RhostsRSAAuthentication no##设置是否使用通过RSA算法进行的基于rhosts的安全验证。

RSAAuthentication yes ##设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes##设置是否使用密码认证。

FallBackToRsh no ##设置在ssh连接发生错误时是否自动使用rsh。 此选项必须设置为“否”,因为rsh不安全。

UseRsh no ##设置是否在此计算机上使用“rlogin/rsh”。 理由相同,设定为“否”。

批处理模式,通常为“否”; 如果设置为" yes ",则禁用用于交互式输入密码的提示。 此选项对于脚本文件和批处理任务很有用。

CheckHostIP yes ##设置ssh是否显示与服务器连接的主机的IP地址,以防止DNS欺骗。 建议设置为“是”。

如果StrictHostKeyChecking no ## '设置为“是”,则ssh不会自动将计算机的加密密钥添加到“$HOME/.ssh/known_hosts”文件中,而是确保计算机的加密密钥

identity file~~.ssh/identity # ' identity file '设置读取用户的RSA安全认证徽标。

Port 22 ##设置连接到远程主机的端口。 ssh的默认端口是22。

Cipher blowfish ##设置加密密钥,blowfish可以自己自由设置。

EscapeChar ##设置escape字符。

33558 www.Sina.com/view/etc/ssh/sshd _ config文件:如果要更改其他主机上的远程端口,则必须更改配置文件中的端口参数。

# thisisshserversystemwideconfigurationfile。

设置port22##sshd接收的端口号。

listen address 192.168.1.1 # #设置sshd服务器绑定的IP地址。

HostKey /etc/ssh/ssh_host_key ##设置包含计算机专用密钥的文件

ServerKeyBits 1024 ##定义服务器密钥的位数

LoginGraceTime 600 ##设置在用户无法成功登录时服务器在断开连接之前等待的时间(以秒为单位)

位)。
          KeyRegenerationInterval 3600    ##设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。
          PermitRootLogin no                     ##设置是否允许root通过ssh登录。这个选项从安全角度来讲应设成"no"。
          IgnoreRhosts yes                         ##设置验证的时候是否使用“rhosts”和“shosts”文件。
          IgnoreUserKnownHosts yes        ##设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的"$HOME/.ssh/known_hosts”
          StrictModes yes                           ##设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何                                                                   人都有写权限。
          X11Forwarding no                       ##设置是否允许X11转发
          PrintMotd yes                              ##设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。
          SyslogFacility AUTH                    ##设置在记录来自sshd的消息的时候,是否给出“facility code”。
          LogLevel INFO                            ##设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。
          RhostsAuthentication no             ##设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。
          RhostsRSAAuthentication no     ##设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证
          RSAAuthentication yes               ##设置是否允许只有RSA安全验证。
          PasswordAuthentication yes       ##设置是否允许口令验证。
          PermitEmptyPasswords no         ##设置是否允许用口令为空的帐号登录。
          AllowUsers admin                        ##的后面可以跟任意的数量的用户名的匹配串,这些字符串用空格隔开。主机名可以是域名或IP地址。


  

    通常情况下我们在连接 OpenSSH服务器的时候假如 UseDNS选项是打开的话,服务器会先根据客户端的 IP地址进行 DNS PTR反向查询出客户端的主机名,然后根据查询出的客户端主机名进行DNS正向A记录查询,并验证是否与原始 IP地址一致,通过此种措施来防止客户端欺骗。平时我们都是动态 IP不会有PTR记录,所以打开此选项也没有太多作用。我们可以通过关闭此功能来提高连接 OpenSSH 服务器的速度。

服务端步骤如下:
编辑配置文件 /etc/ssh/sshd_config
vim /etc/ssh/sshd_config
找到 UseDNS选项,如果没有注释,将其注释
#UseDNS yes
添加
UseDNS no

找到 GSSAPIAuthentication选项,如果没有注释,将其注释
#GSSAPIAuthentication yes
添加
GSSAPIAuthentication no

保存配置文件

重启 OpenSSH服务器
sudo service ssh restart;

注意: 一般远程修改sshd_config端口,建议22端口保留防止修改未成功。

port 22

port 23857

查看ssh服务监听端口:

sudo netstat -tunlp |grep ssh 

 如果开启防火墙记得添加端口放行!


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐