Linux远程访问及控制

一、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 [email protected]//允许用户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服务器时,必须接受服务器发来的RSA密钥(根据提示输入yes)后才能继续验证。接收的密钥信息将保存到~/.ssh/known_hosts文件中。

查看当前的登录状况,确认当前主机地址

技术分享

如果sshd服务器使用了非默认的端口号(如:2345),则在登录时必须通过"-p"选项指定端口号

例:访问主机192.168.1.254的2345端口,以对方的zhangsan用户验证登录

技术分享

技术分享

例2:将本机的/etc/vsftpd/目录复制到远程主机

技术分享

通过sftp命令可以利用SSH安全连接与远程主机上传、下载文件,采用了与FTP类似的登录过程和交互时环境,便于目录资源的管理。

例:sftp的基本操作登录、浏览、文件上传

技术分享

图形工具PuTTYCN、WinSCP

首先、指定远程主机的IP和对应的端口号

技术分享

然后、输入远程账号的密码,登录成功后可以查看当前IP验证是否正确

技术分享

4)构建密钥对验证的SSH体系

基本思路:第一步创建密钥对(私钥文件:id_rsa,公钥文件:id_rsa.pub)

第二步上传公钥文件id_rsa.pub

第三步导入公钥信息(数据库文件:~/.ssh/authorized_keys)

第四步使用密钥对验证方式

在客户端创建密钥对

在Linux客户机中,通过ssh-keygen工具为当前用户

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。