怎样使ssh更安全呢?
不用root登陆使用普通用户登陆后再转换为root
限制登陆用户
不使用默认端口22
使用vpn
使用足够复杂的密码,定时换密码
。。。。。。。
配置文件:
/etc/ssh/ssd_config 服务端
/etc/ssh/ssh_config 客户端
日志文件:
/usr/log/secure
安装
ssh:(openssh相关包)
[root@super63 ~]# yum install openssh –y #默认系统已经安装
启动ssh:
[root@super63 ~]# /etc/init.d/sshd start
配置文件详解:
Port 22
#监听端口号
ListenAddress 0.0.0.0
#设置sshd 服务器绑定的IP 地址,0.0.0.0 表示侦听所有地址
Protocol 2
# 选择的 SSH 协议版本,可以是 1 也可以是 2 ,CentOS 5.x 预设是仅支援 V2。
SyslogFacility AUTHPRIV
ssh默认日志存放(/etc/rsyslog.conf===========>/var/log/secure)
LogLevel INFO
PermitRootLogin yes
#是否允许 root 登入!预设是允许的,但是建议设定成 no
PasswordAuthentication yes
# 密码验证当然是需要的!所以这里写 yes
PermitEmptyPasswords no
#若上面那一项如果设定为 yes 的话,这一项就最好设定为 no ,
# 这个项目在是否允许以空的密码登入!当然不许!
LoginGraceTime 2m
# 当使用者连上 SSH server 之后,会出现输入密码的画面,在该画面中,
# 在多久时间内没有成功连上 SSH server 就强迫断线!若无单位则默认时间为秒!
PrintMotd yes
# 登入后是否显示出一些信息呢?例如上次登入的时间、地点等等,预设是 yes , 亦即是打印出 /etc/motd 这个文档的内容(登陆时的提示)。
PrintLastLog yes
# 显示上次登入的信息!预设也是 yes !
UsePrivilegeSeparation yes
# 是否权限较低的程序来提供用户操作。我们知道 sshd 启动在 port 22 , 因此启动的程序是属于 root 的身份。那么当user登入后,这个设定值会让 sshd 产生一个属于 user的 sshd 程序来使用,对系统较安全
UseDNS yes
#一般来说,为了要判断客户端来源是正常合法的,因此会使用 DNS 去反查客户端的主机名 # 不过如果是在内网互连,这项目设定为 no 会让联机速度比较快。
并且:
改:#GSSAPIAuthentication yes、
为:GSSAPIAuthentication no
PidFile /var/run/sshd.pid
# 可以放置 SSHD 这个 PID 的文档!上述为默认值
实战:
1、无密码远程登陆(在脚本中执行远程备份时非常实用)
生成私钥:
[root@super64 ~]# ssh-keygen
发送公钥到super63上:
[root@super64 ~]# ssh-copy-id
-i/root/.ssh/id_rsa.pub 192.168.1.63
测试可以不用密码连接:
[root@super64 ~]# ssh 192.168.1.63
Last login: Wed Aug 5 00:01:22 2015 from 192.168.1.64
退出:
[root@super63 ~]# exit
2、远程拷贝文件:
[root@super64 ~]# scp keepalived-1.2.16.tar.gz root@192.168.1.63:/data/
keepalived-1.2.16.tar.gz 100% 339KB 338.8KB/s 00:00
3、远程启动服务:
[root@super63 ~]# ssh 192.168.1.64 /etc/init.d/sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
阅读(766) | 评论(0) | 转发(0) |