2014年4月26日星期六

SSH、OpenSSH 使用和配置

SSH是一种网络协议,用于计算机之间的加密登录。

OpenSSH是SSH协议的免费开源实现。SSH协议族可以用来进行远程控制,或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。

OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。

  1. ssh分为openssh-client和openssh-server
  2. ssh登录命令:ssh [-p port] [user@]hostname
  3. 如果修改过登录端口,需要添加端口 ssh -p 12345 root@x.x.x.x
  4. 我们需要安装ssh-server用于远程用户的ssh登录,ubuntu可以apt-get install openssh-server,然后查看sshd进程是否启动 ps -e|grep sshd,如果启动则远程用户可以通过ssh登录了。

ssh配置文件 /etc/ssh/sshd_config

  1. 可以修改ssh登录端口,默认端口22,改端口可以防止被端口扫描
  2. 可以禁止root登录,permitRootLogin no
  3. 可以禁止密码登录
  4. LoginGraceTime 20,意思为:通过sshd登陆服务器后,必须在出现操作提示符20秒内登陆,只要超时,sshd会自动切断连接。
  5. PermitRootLogin without-password,意思为:禁止root帐户使用用户名+密码认证方式登陆,只能使用公共密钥方式登陆。
  6. PasswordAuthentication no,意思为:禁止使用用户名+密码认证方式登陆,只能使用公共密钥方式登陆。
  7. LogLevel VERBOSE,意思为:在日志中记录更多的有关登陆成功和登陆失败的信息。

ssh重启

  1. service ssh restart
  2. /etc/init.d/ssh restart

ssh的log文件保存在/var/log/auth.log


ssh允许和拒绝用户和用户组
  1. DenyUsers, AllowUsers, DenyGroups, and AllowGroups
  2. DenyUsers aaa,拒绝aaa用户登录
  3. AllowGroups groupname,groupname为系统用户的组,此keyword设置只能该组的用户登录

没有评论:

发表评论