1.SSH远程管理
SSH(Secure Sheel)是一种安全通道协议,主要用于实现字符界面的远程登录、远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户的口令。与早期的TELNET(远程登录,tcp23端口)、RSH(Remote Sheel,远程执行命令)、RCP(Remote File Copy,远程文件复制)等应用想必,SSH协议提供了更好的安全性。
配置OpenSSH服务端(由openssh、openssh-server软件包提供、主配置文件/etc/ssh/sshd_config,服务“service sshd start”)
服务器监听选项:sshd服务器使用的默认端口号为22,必要的时候可以更改此端口(使用“ssh -p 端口号 [email protected]地址”);并指定监听服务的具体IP地址,以便在网络中提高隐蔽性;除此之外,SSH协议的版本选用V2比V1的安全性更;禁用DNS反向解析,可以提高服务器的响应速度。
更改完成后使用“service sshd reload”加载服务
用户登录控制:sshd服务默认允许root用户登录,当在internet中使用时比较不安全,一般会把root用户禁用,然后使用su命令进行用户切换;关于sshd服务的用户登录控制,通常禁用root。另外,可以限制登录验证的时间(默认2分钟)及最大重试次数,超过限制则断开连接。
更改完成后使用“service sshd reload”加载服务
当只希望允许或禁止某些用户登录时,可以使用AllowUsers或DenyUsers配置,两者用法类似(注意不要同时使用)。例如:若只希望jerry和admin用户登录,且其中admin用户仅能够从61.23.24.25的主机远程登录,可以参考一下操作。
更改完成后使用“service sshd reload”加载服务
登录验证方式:对于服务器的远程管理,除了用户账号的安全控制以外,登录验证的方式也非常重要。sshd两种验证方式__密码验证、密钥对验证。可以同时使用两种或一种方式。
密钥对验证:要求提供相匹配的密钥信息才能通过验证。通常先在客户集中创建一对密钥文件(公钥/私钥),然后将其复制到指定的服务器上,远程登录时,将进行公钥/私钥关联验证,大大增强了安全的需求。
密码验证:以服务器本地的用户进行验证。危害:从客户端来看,服务端有可能是假冒的;从服务端来看,有可能被暴力破解密码。
2.使用SSH客户端程序
OpenSSH客户端有openssh-client软件包提供(默认已安装),其中包括ssh远程登录命令,以及scp、sftp远程复制和文件传输命令。
在Windows平台中,可以使用Xshell、Xmanager、SecureCRT、Putty等工具。
SSH远程登录:通过SSH命令可以远程管理sshd服务,为用户提供一个安全的Shell环境,以便对服务器进行管理和维护。使用时应制定登录用户,目标主机地址作为参数。例如,若要登录主机192.168.1.1,以对方的wgl用户进行验证,可以执行以下操作:
当用户第一次登录SSH服务器时,必须接受服务器发来的RSA密钥(根据提示输入“yes”)后才能继续验证,接着输入wgl用户密码即可验证成功,其接受的密钥存放在~/.ssh/known_hosts文件中。
若端口不是默认的22,则使用“ssh -p 222 [email protected]”方式进行登录。
SCP远程复制:通过scp命令可以远程安全连接与远程主机相互复制文件,使用scp命令时,除了必须制定复制源、目标外,还应制定目标主机、登录用户、执行后输入口令即可。例如:一下分别验证上行和下行复制的操作过程:
sftp安全FTP:通过使用sftp命令可以利用SSH安全连接与远程主机上传、下载文件。采用了与ftp类似的登录过程及交互环境,便于目录资源管理。例如:以下操作依次演示了sftp登录、浏览、文件上传等过程。
在Windows中图形化登录:支持Telnet、SSH、SFTP等协议。
以Xshell为例,安装过程省略,默认下一步即可。
连接过程如下
连接成功后如图所示:
构建密钥对验证的SSH体系:
1)在客户端创建密钥对:在Linux客户机中,通过ssh-keygen工具为当前用户创建密钥对文件,可用的密钥对算法为RSA和DSA(ssh-keygen -t 选项用户指定算法类型)。例如:以zhangsan用户登录客户机,并生成基于RSA的SSH密钥对(公钥、私钥)文件,操作如下:
上述操作过程中,提示指定私钥文件的存放位置时,一般直接按enter键即可,最后生成的私钥、公钥文件默认存放在宿主目录中的隐藏文件夹.ssh下。私钥短语用来对私钥文件进行保护,当使用该私钥验证登录时必须正确提供此处所设置的短语,不设置此短语也可以(实现无口令登录)
2)讲公钥文件上传到服务器:
3)在服务器中导入公钥文本:
在服务器中,目标用户(指用来远程登录等账号wgl)公钥数据文件库位于~/.ssh目录,默认文件名为authorized_keys。
4)在客户端使用密钥对验证:
第二步和第三步可以采用另外一种方法,使用“ssh-copy-id -i 公钥文件 [email protected]”格式,-i选项指定公钥文件。