一、 基础知识

ssh 为 secure shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。

      Ssh是协议,OpenSSH 是一组用于安全地访问远程计算机的连接工具。它可以作telnet 的直接替代品使用。Telnet是基于明文传输的协议,SSH 是tcp协议能够安全地进行隧道/转发。 OpenSSH 对所有的传输进行加密, 从而有效地阻止了窃听、 连接劫持, 以及其他网络级的***。OpenSSH 由 OpenBSD project 维护。

登录过程和使用 rlogin 或 telnet 建立的会话非常类似。 在连接时, SSH 会利用一个密钥指纹系统来验证服务器的真实性。 只有在第一次连接时, 用户会被要求输入 yes。 之后的连接将会验证预先保存下来的密钥指纹。 如果保存的指纹与登录时接收到的不符, 则将会给出警告。 指纹保存在 ~/.ssh/known_hosts 中, 对于 SSH v2 指纹, 则是 ~/.ssh/known_hosts2。

    默认情况下, 较新版本的 OpenSSH 只接受 SSH v2 连接。 如果能用版本 2 则客户程序会自动使用, 否则它会返回使用版本 1 的模式。 此外, 也可以通过命令行参数 -1 或 -2 来相应地强制使用版本 1 或 2。 保持客户端的版本 1 能力是为了考虑较早版本的兼容性。

wKioL1PeKpyDFZSlAAP20crkQvw961.jpg

1、Cat /.ssh/kenown-hosts 保存了远程主机上的特征码

如果删除了的话要重新验证

没有删除的话下次在登录可以直接输入密码登录

wps_clip_p_w_picpath-24497

二、安全登录的讲解

wps_clip_p_w_picpath-29945

Lastb  可以查看最近尝试登录主机的信息

wps_clip_p_w_picpath-13866

Xshell登录时登录不了

1、ip配置错误

2、用桥架网卡方式

3、最好添加一张回环网卡

4、下面看ssh服务启动没有

wps_clip_p_w_picpath-20714

2、登录远程主机为了安全起见最好用远程主机的系统用户登录

ssh: 配置/etc/ssh/ssh_config

ssh [username@]host [COMMAND]

ssh -l username host [COMMAND]

-p PORT

wps_clip_p_w_picpath-354

3、scp的讲解:这个命令和cp差不多 不同的只是文件目录的指定方式

分两种情形:

1、源文件在本机,目标为远程

# scp /path/to/somefile... USERNAME@HOST:/path/to/somewhere

2、源文件在远程,本地为目标

# scp USERNAME@HOST:/path/to/somewhere /path/to/somewhere

-r: 复制目录时使用

-p: 保持源文件的元数据信息,包括mode和timestamp

-q: 静默模式

-p PORT: 指定ssh协议监听的端口

wps_clip_p_w_picpath-23237

scp -r 172.16.249.229:/root/test  ./

4、客户端配置文件

wps_clip_p_w_picpath-1893

Ssl支持sftp 可以直接安装sftp 然后远程连接主机上传下载文件

5、关于密码的问题

不用输入密码就能远程登录

服务器端/etc/ssh/sshd.conf介绍

wps_clip_p_w_picpath-11159

wps_clip_p_w_picpath-894

不用密码登录远程主机

1、在本地生成公钥,复制到远程主机

wps_clip_p_w_picpath-9794

[root@localhost .ssh]# ssh-copy-id -i id_rsa.pub 172.16.249.229

2、把公钥追加到远程主机中

[root@localhost .ssh]# cat id_rsa.pub >> .ssh/authorized_keys

3、验证不输入密码登录远程主机

[root@localhost .ssh]#ssh 172.16.224.249

三、关于登录到远程服务器安全的一些策略

1、不要使用默认的22号端口;

2、不要使用protocol 1;

3、限制可登录的用户

白名单:

AllowUsers user1 user2 ...

AllowGroups grp1 grp2...

黑名单:

DenyUsers

DenyGroups

4、设定空闲会话超时时长

ClientAliveInterval 300

ClientAliveCountMax 0

5、利用防火墙设置ssh访问策略;

6、仅监听在特定的IP地址,而非本机所有的IP地址;

7、使用强密码策略

# tr -dc A-Za-z0-9_ < /dev/urandom | head -c 30 | xargs

8、使用基于密钥的认证;

9、禁止使用空密码;

10、禁止root用户直接登录;

11、限制ssh的访问频度

12、做好日志,经常分析;