第三章 远程访问及控制
一、SSH远程管理
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
1、配置OpenSSH服务端
(1)SSH服务及配置文件
①安装包:openssh、openssh-server等(默认已安装)
②服务文件:sshd
③配置文件:/etc/ssh/sshd_config
(2)服务监听选项
①默认使用端口号为22,必要时建议修改此端口号,并指定监听服务的具体IP地址,提高在网络中的隐蔽性。禁用DNS反向解析可以提高服务器响应速度
②Port 22:监听端口设置
③ListenAddress 192.168.1.254:监听地址
④Protocol 2:使用SSJ V2协议
⑤UseDNS no:禁用DNS反向解析
(3)用户登录控制
①通常应禁止root用户或密码为空的用户登录。此外可限制登录验证时间(默认2分钟)及最大重试次数。
②LoginGraceTime 2m:登录验证时间
③PermitRootLogin no:禁止root登录
④MaxAuthTries 6:最大重试次数为6
⑤PermitEmptyPasswords no:禁止空密码登录
⑥AllowUsers jerry [email protected]:允许用户或用户从指定IP登录
⑦DenyUsers:禁止指定用户
(4)登录验证方式
①密码验证:以服务器本地用户及密码进行验证
②密匙验证:使用公钥、私钥加密解密关联验证
1)公钥和私钥是成对生成的,两者互不相同,可相互加密解密
2)不能根据一个秘钥来推算出另一个
3)公钥对外公开,私钥只有持有人才知道
2、使用SSH客户端程序
(1)命令程序ssh、scp、sftp
①ssh远程登录
1)ssh [email protected]
2)-p:使用非默认端口号时,需使用-p指定端口号
②scp远程复制
1)scp [email protected]:/etc/passwd /root/pwd254.txt
2)scp -r /root/mydir/ [email protected]:/opt
③sftp安全FTP
1)sftp [email protected]
2)put:上传
3)get:下载
4)bye:退出
(2)图形工具Xshell
3、构建秘钥对验证的SSH体系
(1)在客户端创建秘钥对
①ssh-keygen -t rsa或dsa
②秘钥文件默认创建在家目录的.ssh目录中
③id_rsa:私钥
④id_rsa.pub:公钥
(2)将公钥上传至服务器
①scp id_rsa.pub [email protected]:tmp
(3)在服务器中导入公钥
①在使用公钥的用户家目录中创建.ssh目录
②cp /tmp/id_rsa.pub ~/.ssh/authorized_kes(authorized_kes为默认的文件名)
(4)注意:只有家目录的.ssh目录中有私钥的账号才能登陆,且登陆后的账号为服务器中家目录有公钥的用户账号
(5)2-3步可使用ssh-copy-id -i 公钥文件 user@host格式代替。复制时会蒋公要自动添加到目标主机对应user的宿主目录并修改文件名
4、sshd_config配置文件详解