一、SSH 远程管理
- SSH的功能
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的telnet (远程登录)、rsh(Remote Shell,远程执行命令)、rcp(Remote File Copy,远程文件复制)等应用相比,SSH协议提供了更好的安全性。
- 配置OpenSSH服务端
服务监听选项
sshd 服务使用的默认端口号为22 必要时建议修改次端口号,并指定监听服务的具体IP地址,以提高在网络中的隐蔽性。除此之外,SSH协议的版本选用V2比V1的安全行更好,禁用DNS反向解析可以提高服务器的响应速度。
[root@localhost~]# vim/etc/ssh/sshd_config
Port22//监听端口为22
Protocol2//使用SSHV2 协议
ListenAddress192.168.4.254//监听地址为192.168.4.254
UseDNSno//禁用DNS 反向解析
……//省略部分内容
[root@localhost~]# service sshd reload
重新载入 sshd:[确定]
用户登录控制
sshd 服务默认允许root用户登录
[root@localhost~]# vim/etc/ssh/sshd_config
PermitRootLoginno//禁用root用户登录
PermitEmptyPasswordsno//禁止空密码用户登录
LoginGraceTime2m//登录验证时间为2分钟
MaxAuthTries6//最大重试次数为6
……//省略部分内容
AllowUsersjerry admin@192.168.1.1//允许用户jerry和admin登录,且
其中admin用户仅能从IP地址为
192.168.1.1的主机远程登录,多
个用户以空格分隔
[root@localhost~]# service sshd reload
登录验证方式
sshd服务支持两种验证方式密码验证、密钥对验证
- 密码验证:以服务器中本地系统用户的登录名称、密码进行验证。易遭受暴力破解。
- 密钥对验证:要求提供相匹配的密钥信息才能通过验证。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。
[root@localhost~]#vim/etc/ssh/sshd_config
PasswordAuthenticationyes//启用密码验证
PubkeyAuthentiactionyes//启用密钥对验证
AuthorizedKeysFile.ssh/authorized_keys//指定公钥库数据文件
…………//省略部分内容
[root@localhost~]#servicesshdreload 3)使用SSH客户端程序
在RHEL5系统中,OpenSSH客户端由openssh-clients软件包提供(默认已安装)
命令程序ssh、scp、sftp
- ssh远程登录
基本格式:ssh用户名@远程主机
例:
当用户第一次登录SSH服务器时,必须接受服务器发来的RSA密钥(根据提示输入yes)后才能继续验证。接收的密钥信息将保存到~/.ssh/known_hosts文件中。
查看当前的登录状况,确认当前主机地址
如果sshd服务器使用了非默认的端口号(如:2345),则在登录时必须通过"-p"选项指定端口号
例:访问主机192.168.1.254的2345端口,以对方的zhangsan用户验证登录
- scp远程复制
基本格式:
复制远程主机内容:
scp【远程主机用户名】@【主机IP】:【复制目录】【复制到的本地目录】
复制本地到远程主机:
scp-r【本地目录】【远程主机用户名】@【主机IP】:【复制到的远程目录】
注意:如果使用的不是默认端口,则使用"-P"参数(大写)指定端口号
例1:将远程主机的/etc/passwd文件复制到本机
例2:将本机的/etc/vsftpd/目录复制到远程主机
- sftp安全FTP
通过sftp命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互时环境,便于目录资源的管理。
例:sftp的基本操作登录、浏览、文件上传
图形工具PuTTYCN、WinSCP
首先、指定远程主机的IP和对应的端口号
然后、输入远程账号的密码,登录成功后可以查看当前IP验证是否正确
4)构建密钥对验证的SSH体系
基本思路:第一步创建密钥对(私钥文件:id_rsa,公钥文件:id_rsa.pub)
第二步上传公钥文件id_rsa.pub
第三步导入公钥信息(数据库文件:~/.ssh/authorized_keys)
第四步使用密钥对验证方式
在客户端创建密钥对
在Linux客户机中,通过ssh-keygen工具为当前用户