首页未分类 › SSH的性能调优

SSH的性能调优

SSH的性能调优

首先我们要做的是修改 SSH 端口,禁止 root 登陆,修改的文件为/etc/ssh/sshd_config

$ sudo vi /etc/ssh/sshd_config

Port 4484 #一个别人猜不到的端口号

PermitRootLogin no

$ sudo /etc/init.d/ssh restart

 

然后我们禁用密码登陆,使用 RSA 私钥登录,Amazon EC2 服务器本来就是只允许使用私钥登录的,但是这样的话我如果想在别的电脑上临时 SSH 上来,又没带私钥文件的情况下,就很麻烦。所以我又手动开启了密码验证登录。

$ ssh-keygen -t rsa   #在客户端生成密钥

$ ssh-copy-id -i .ssh/id_rsa.pub server     #把公钥拷贝至服务器

 

也可以手动将.shh/id_rsa.pub拷贝至服务器用户目录的.ssh中,记得修改访问权限

  1. # $ scp .shh/id_rsa.pub server:~/.ssh
  2. # 在服务器中
  3. $ cd ./.ssh/
  4. $ mv id_rsa.pub authorized_keys
  5. $ chmod 400 authorized_keys
  6. $ vi /etc/ssh/sshd_config
  7. RSAAuthentication yes #RSA认证
  8. PubkeyAuthentication yes #开启公钥验证
  9. AuthorizedKeysFile .ssh/authorized_keys #验证文件路径
  10. PasswordAuthentication no #禁止密码认证
  11. PermitEmptyPasswords no #禁止空密码
  12. UsePAM no #禁用PAM
  13. $ sudo /etc/init.d/ssh restart# 最后保存,重启

 

denyhosts 是 Python 语言写的一个程序,它会分析 sshd 的日志文件,当发现重复的失败登录时就会记录 IP 到 /etc/hosts.deny 文件,从而达到自动屏 IP 的功能。如果靠人工手动添加的话工作量是非常大的。现今 denyhosts 在各个发行版软件仓库里都有,而且也不需要过多配置,方便简单易用,那么首先是安装:

$ sudo apt-get install denyhosts# Debian/Ubuntu:

$ yum install denyhosts# RedHat/CentOS

$ yaourtdenyhosts  #Archlinux

$ emerge -avdenyhosts#Gentoo

 

默认配置就能很好的工作,如要个性化设置可以修改 /etc/denyhosts.conf:

 

 

发表评论