debian 下的openssh 的完全配置笔记

 
 
一,安装
 
 
 
在debian 下安装openssh很简单,它分为两个部分一个服务程序,一个是客户端程序,安装如下:
 
安装服务器程序:sudo aptitude install openssh-server
 
安装客户端程序:sudo aptitude install openssh-client
 
 
 
二,测试
 
 
 
安装好之后,我们可以在服务器上测试一下:
 
ssh localhost  
 
如果请你输入密码,通过认证后,登录成功,说明服务已经运行了。用exit 即可退出。
 
 
 
三,服务器配置,
 
1. sshd_config 配置文件。详细的了解可以查看金步国的作品 sshd_config 中文手册
 
 
 
 这里只列出几个特别的配置选项:
 
 
 
ListenAddress  此选项与用那个客户端登录没有关系,它只是指明了服务器用哪个IP和端口监听用户的请求。默认监听所有地址。
 
 
 
格式:
 
ListenAddress host|IPv4_addr|IPv6_addr
ListenAddress host|IPv4_addr:port
ListenAddress [host|IPv6_addr]:port
 
 
 
如:
 
ListenAddress 192.168.1.6  这说明服务器上必须有一个IP地址为 192.168.1.6  服务器就监听这个IP 上的所有端口
 
ListenAddress 192.168.1.6:3322  监听IP 为192.168.1.6这个地址上的3322端口。
 
 
 
写法,如:
 
ListenAddress 0.0.0.0:22
ListenAddress 192.168.1.6:66
ListenAddress 192.168.1.6:3322
 
多个地址,可以写入多行。
 
 
 
AllowUsers 允许登录的用户,
 
写法:
 
 
 
AllowUsers   admin  允许用户admin登录
 
AllowUsers admin@192.168.1.20    user2     允许用户admin从IP为192.168.1.20的客户端登录,允许user2 从任何地址登录。
 
 
 
AllowGroups 允许登录的用户组,
 
写法:
 
AllowGroups  admin  group2
 
 
 
DenyUsers 拒绝登录的用户,
 
DenyUsers 拒绝登录的用户组,
 
 
 
以上四个选项还应该配合着:/etc/hosts.allow   /etc/hosts.deny 来设置更好。
 
如:/etc/hosts.allow  中是允许登录的用户
 
 
 
/etc/hosts.deny 是不允许登录的用户
 
 
 
四,安全
 
 
 
1。禁止root 登录。
 
PermitRootLogin no
2.不用密码验证,用密钥验证
 
UserPAM no
 
PasswordAuthentication no
 
3.选用SSH协议2
 
Protocol 2
4.配合 AllowUsers  AllowGroups  DenyUsers  DenyGroups  /etc/hosts.allow  /etc/hosts.deny    还有防火墙
 
  来限制登录的网段,用户,端口,群组等。