ssh安全远程管理
1.什么是ssh
SSH 为 Secure Shell 的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
2.ssh的登录验证模式
2.1 账号密码验证
2.2密钥对验证
3.ssh操作
Linux主机之间的密钥对登录验证。
1. 客户端生成密钥对文件。
ssh-keygen -t rsa -b 2048 4
-t指定加密类型(rsa/dsa等) 。
-b指定密钥对加密长度。
询问1:执行过程中会询问保存位置,- -般默认保存在当前用户家目录下的. ssh/目录下。
询问2:是否对密钥文件进行加密
加密:若加密,则在调用密钥文件时需要先验证密钥的密码,密码正确才能使用密钥文件。
不加密:若不加密,则密钥文件可以直接被调用,整个登录验证过程无需输入任何密码,即为免密登录。
2. 将公钥文件.上传至服务器端。
ssh-copy-id用户名@服务器IP地址。
#该用户名和要用来登录服务器的用户名一致。
3. 客户端尝试登录服务器。
ssh用户名@服务器IP地址。
#密钥对验证优先级大于账户密码验证。
一个服务器可以保存对个公钥
如果是windows往服务器传公钥的时候 需要在~/.ssh目录 创建authrized_keys文件 ,然后将文件写入进去
4.ssh配置参数
4.1 禁止使用密码登录
建议生产环境中将庄户密码登录功能关掉
配置文件 : /etc/ssh/sshd_config
PasswordAuthentication no
重启服务 service sshd restart
4.2 禁止使用root远程登录
需要增加一个用户 useradd zhangsan 设置密码 passwd
root在系统中是一个可以为所欲为的角色,我们可以在平时的操作中用普通用户操作,在有需要修改一些系统设置的
时候再从普通用户切换到root用户,这样可以最大限度的避免因为误操作而对系统造成破坏,同时也可以避免黑客在
暴力破解后直接使用root用户登录系统,一般在远程登录管理上我们会禁止直接使用root用户登录。
配置文件: /st/sslsshd config.
选项:。
PermitRootLogin no。
4.3 修改默认端口,限制SSH监听IP
修改默认端口: ssh 作为一个用来远程管理服务器的工具,需要特别的安全,默认情况下使用TCP的22端口,若不进行修改,很容易被利用遭到攻击,所以我们一般都会修改端口,尽量修改- . 个高位端口(范围1-65535)。配置文件: /etc/ssh/sshd config.选项:。
Port 59527。
ssh -p端口用户名@服务器IP
限制ssh监听IP:有些服务器则安全级别更高.些,不允许使用外网直接登录,只有通过局域网才能登录,我们可以在机房里设置其中一台能够被外网远程连接,其他的主机都通过这个机器进行远程连接即可。配置文件: /etc/ssh/sshd .config.选项:。
ListenAddress 192. 168. 88.100。