OpenSSH是一款在linux系统上实现ssh协议的应用程序,可以实现实施远程登录服务器端;
一:ssh服务的最佳实践方案:
1.更换服务端口,不要使用默认的22号端口;
2.禁止使用sshv1;
3.合理的设置登录用户的黑名单和白名单;
4.设置空闲会话的超时时间,将其改的短一些;
5.需要利用防火墙来配合设置ssh的安全访问规则;
6.监听固定的IP地址而不是0.0.0.0;
7.如果必须使用口令认证机制,则需要使用足够复杂的密码;
~]# tr -dc A-Za-z0-9 < /dev/urandom | head -c 30 | xargs
~]# openssl rand -base64 30 | head -c 30 | xargs
8.建议最好使用基于密钥的认证机制;
9.禁止用户使用空密码登录;
10.禁止root用户直接进行远程登录;
11.限制ssh的密码失败频度和并发数;
12.做好日志记录,并经常分析日志内容;
二:SSH提供的认证方式:
        基于口令的认证:
            使用远程服务器上的有效用户账户和该用户的口令,进行身份认证;
            需要在网络中传递被加密的用户名和口令信息;有被拦截和破解的风险;

        基于密钥的认证:
            用户在客户端提供一对密钥,私钥保存在客户端,公钥保存在远程服务器的某个用户的家目录下;
            使用私钥加密一段数据,如果服务器可以使用对应的公钥进行解密,则说明认证成功,可以继续后续通信;
            在整个过程中不涉及用户名和密码等敏感信息的传递;

三:Openssh程序组成
 3.1 openssh应用程序的组成:
   服务器端:
       应用程序
           sshd
       配置文件
          /etc/ssh/sshd_config 

   客户端:
        应用程序
            ssh, scp, sftp
        配置文件
            /etc/ssh/ssh_config
3.2 客户端程序使用
    3.2.1 ssh命令:
        ssh - OpenSSH SSH