您的位置:首页 > 其它

SSH远程访问及控制

2013-11-02 17:52 351 查看
SSH协议
为客户机提供安全的Shell环境,用于远程管理

默认端口:TCP 22

OpenSSH
服务名称:sshd

服务端主程序:/usr/sbin/sshd

客户端主程序:/usr/bin/ssh

服务端配置文件:/etc/ssh/sshd_config

客户端配置文件:/etc/ssh/ssh_config

[root@steven ~]# vi /etc/ssh/sshd_config
……
Port 22                                   #端口号
Protocol 2                                #协议版本
ListenAddress 192.168.1.254               #监听IP地址
UseDNS no                                 #禁用反向解析
PermitRootLogin no                        #禁止ROOT用户登录
PermitEmptyPasswords no                   #禁止空密码用户登录
LoginGraceTime 2m                         #登录时间
MaxAuthTries 6                            #连接次数
PasswordAuthentication  yes               #启用密码验证
PubkeyAuthentication  yes                 #启用密钥对验证
AuthorizedKeysFile  .ssh/authorized_keys  #指定公钥库位置


ssh命令 —— 远程安全登录
格式:ssh user@host

scp命令 —— 远程安全复制
格式1:scp user@host:file1 file2

格式2:scp file1 user@host:file2

sftp命令 —— 安全FTP上下载
格式:sftp user@host

构建密钥对验证的SSH体系




实验案例:构建安全的SSH服务体系



需求描述
允许用户wzadm从任意地址登陆,采用密钥对验证

允许用户jacky从主机192.168.3.110登陆

禁止其他所有用户远程登录

实现思路
同时启用密码验证、密钥对验证

锁定wzadm用户,改以密钥对方式进行验证

使用AllowUser配置,仅允许wzadm、jacky用户登录

这里我用GNS3搭建了路由器充当网关服务器.两台PC分配桥到了VMnet1(192.168.3.0)和VMnet8(218.29.30.0)正确配置了各主机的网络参数,添加了测试用户jacky,wzadm. redhat 5为internet测试用机.redhat 6为网站服务器



修改sshd_config配置文件中的内容





监听22端口


监听地址


使用SSH V2协议


禁用DNS反向解析


禁止空密码用户登录


验证时间2分钟,禁止root用户登录


最大重试6次


启用密码验证


启用密钥验证,指定公钥库数据文件


只允许wzadm和jacky用户登录,且jacky用户只能从IP地址192.168.3.110的主机远程登录

构建密钥对验证的SSH体系
1. 在客户机中创建密钥对
ssh-keygen命令

可用的加密算法:RSA或DSA





2. 将公钥文件上传至服务器
任何方式均可(共享、FTP、Email、SCP、……)





3. 在服务器中导入公钥文本
将公钥文本添加至目标用户的公钥库

默认公钥库位置:~/.ssh/authorized_keys





把wzadm用户锁定.这样wzadm用户就只能使用密钥验证了




jacky用户能从192.168.1.110远程登录网站服务器










但jacky用户不能在218.29.30.218的主机上远程登录网站服务器




其它用户不能远程登录网站服务器











wzadm用户远程登录的时候,直接要求使用密钥密码来登录了




其它用户还是无法远程登录



本文出自 “steven丶部落格” 博客,请务必保留此出处http://stevensj.blog.51cto.com/8011491/1319223
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: