一、SSH 远程管理

  1. SSH的功能

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。

SSH 协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。与早期的telnet (远程登录)、rsh(Remote Shell,远程执行命令)、rcp(Remote File Copy,远程文件复制)等应用相比,SSH协议提供了更好的安全性。

  1. 配置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工具为当前用户