标签:加密 options conf 免密登录 user 远程主机 ase ups images
open-ssh
远程服务工具Telnet、sshd等,Telnet传输基于明文,认证等均为非加密;ssh协议开源的实现:centos 6 7默认安装,Secure remote shell,允许认证加密方式登录。
[root@xt ~]# rpm -qa | grep ssh
libssh2-1.4.3-10.el7.x86_64
openssh-6.6.1p1-22.el7.x86_64
openssh-server-6.6.1p1-22.el7.x86_64
openssh-clients-6.6.1p1-22.el7.x86_64
配置文件:
server:/etc/ssh/sshd_config
client:/etc/ssh/ssh_config
服务脚本:
CentOS 6:
服务脚本:/etc/rc.d/init.d/sshd
CentOS 7:
Systemd Unit File:/usr/lib/systemd/system/sshd.service
-P port :用于指定远程服务的端口
-X :支持X11转发,在本地显示远程主机上的图形窗口,但 前提:本地是X图形界面,或者提供了x service;
sh远程连接服务器时的配置选项,定义在/etc/ssh/ssh_config配置文件中
scp基于ssh实现跨主机文件复制
复制文件到远程主机:scp [options] /PATH/TO/SOMEFILE [user@]host:/PATH/TO/SOMEFILE
复制文件到本地主机:scp [options] [user@]host:/PATH/TO/SOMEFILE /PATH/TO/SOMEFILE
常用选项:
-r:递归
-p:保持源文件权限
-q: 静默模式
-P port:指定远程服务的端口
1、不要使用默认端口;
2、禁止使用protocol version 1;Protocol 2
3、限制可登录的用户;
在配置文件中配置:
AllowUsers user1 user2 ...
AllowGroups group1 group2...
DenyUsers user1 user2...
DenyGroups group1 group2
4、设定空闲会话超时时长;
5、利用防火墙设置ssh访问策略;
6、仅监听特定的IP地址;
7、基于口令认证时,使用强密码策略(可以禁止)
# tr -dc A-Za-z0-9_ < /dev/urandom | head -c 20 | xargs
8、使用基于密钥的认证;
9、禁止使用空密码;
10、禁止root用户直接登录;
11、限制ssh的访问频度和并发在线数;
12、做好日志,经常分析;
13、设置TCP Wrappers
用TCP Wrappers可以阻止或允许应用服务仅对某些主机开放,给系统在增加一道安全屏障。这部分设置共涉计到两个文件:hosts.allow和 hosts.deny
eg: 在白名单中允许特定的主机访问
sshd:192.168.0.100 192.168.0.200
实验环境:
实验1:模拟中间人attack
首先客户端与server建立ssh通信,客户端从服务端下载公钥保存在家目录.ssh/known_hosts文件,此时可以基于密码或者密钥远程登录server。修改server的密钥文件模拟server attacked:
实验2:密钥互信实验
[root@xt .ssh]# ls
id_rsa id_rsa.pub known_hosts
[root@xt .ssh]# ssh root@192.168.0.109 hostname
node1.xuetong.com
这样就实现了免密登录,由于使用空密钥,id_rsa* 这两个文件有可能被窃取,伪装成客户端,可以使用对文件加密。
此时同样把公钥发送给node1
但此时还是要交互输入密码。此密码保证了文件的安全性,仅在此机器有效。可以通过使用ssh-agent作为代理,免去输入密码。
标签:加密 options conf 免密登录 user 远程主机 ase ups images
原文地址:http://blog.51cto.com/12580678/2338246