科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道如何构建安全的远程登录服务器(5)

如何构建安全的远程登录服务器(5)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

Telnet最基本应用就是 用于Internet的远程登录,共享远程系统中的资源。它可以使用户坐在已上网的电脑键盘前通过网络进入的另一台已上网的电脑,并负责把用户输入的每个字符传递给主机

作者:帷幄 来源:IT168 2007年10月15日

关键字: 服务器安全 Linux 服务器 Windows 操作系统

  • 评论
  • 分享微博
  • 分享邮件

2. 理解OPENSSH修改配置文件

    /etc/ssh/sshd_config

    配置“/etc/ssh/sshd_config”文件是OpenSSH的配置文件,允许设置选项改变这个守护进程的运行。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(sshd (8))可以得到详细的列表。编辑“sshd_config”文件(vi /etc/ssh/sshd_config),加入或改变下面的参数:


 
    下面逐行说明上面的选项设置:

    Port 22 :“Port”设置sshd监听的端口号。
    ListenAddress 192.168.1.1 :“ListenAddress”设置sshd服务器绑定的IP地址。
    HostKey /etc/ssh/ssh_host_key :“HostKey”设置包含计算机私人密匙的文件。
    ServerKeyBits 1024:“ServerKeyBits”定义服务器密匙的位数。
    LoginGraceTime 600 :“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。
    KeyRegenerationInterval 3600 :“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。
    PermitRootLogin no :“PermitRootLogin”设置root能不能用ssh登录。这个选项尽量不要设成“yes”。
    IgnoreRhosts yes :“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。
    IgnoreUserKnownHosts yes :“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”
    StrictModes yes :“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。
    X11Forwarding no :“X11Forwarding”设置是否允许X11转发。
    PrintMotd yes :“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。
    SyslogFacility AUTH :“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。
    LogLevel INFO :“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。
    RhostsAuthentication no :“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。
    RhostsRSAAuthentication no :“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。
    RSAAuthentication yes :“RSAAuthentication”设置是否允许只有RSA安全验证。
    PasswordAuthentication yes :“PasswordAuthentication”设置是否允许口令验证。
    PermitEmptyPasswords no:“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。
    AllowUsers admin :“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是DNS名或IP地址。

     /etc/ssh/ssh_config

    配置“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。

    下面列出来的是最重要的关键词,用man命令查看帮助页(ssh (1))可以得到详细的列表。 

    编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数: 

 
    下面逐行说明上面的选项设置:

    Host * :选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。 

ForwardAgent no :“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。 

    ForwardX11 no :“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY set)。 

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

    RhostsRSAAuthentication no :“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。 

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

    PasswordAuthentication yes :“PasswordAuthentication”设置是否使用口令验证。 

    FallBackToRsh no:“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。 

    UseRsh no :“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。 

    BatchMode no :“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。 

    CheckHostIP yes :“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。 

    StrictHostKeyChecking no :“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。 

    IdentityFile ~/.ssh/identity :“IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。 

    Port 22 :“Port”设置连接到远程主机的端口。 

    Cipher blowfish :“Cipher”设置加密用的密码。 

    EscapeChar ~ :“EscapeChar”设置escape字符。 

    到此为止我们已经建立了基于OPENSSH的远程登录服务器,下篇文章中将介绍如何加固OPENSSH的远程登录服务器,敬请关注。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章