假设你已经从亚马逊、SoftLayer等云服务提供商处得到一个Ubuntu虚拟机,一般它们会提供给你一个IP地址、root用户名和密码,或者private key。
使用root帐号ssh登录到服务器。
#如果提供的是用户名和密码
ssh root@ip
#如果提供的是用户名和private key
ssh root@ip -i ~/.ssh/private_key使用root账户是一件危险的事,因此,登录后的第一件事就是创建一个新用户,并为它分配sudo权限。
root adduser foo
#将用户foo添加至sudo用户组,使其拥有sudo权限
gpasswd -a foo sudo
#切换foo为登录用户
su - foo-
为新用户生成private、public key,修改SSH配置,修改ssh默认端口号、禁用密码形式的登录验证。
#在**本机**生成公钥私钥 ssh-keygen #在虚拟机上foo用户的主目录,创建.ssh/authorized_keys文件,并将生成的公钥粘贴到其中 mkdir .ssh touch .ssh/authorized_keys nano .ssh/authorized_keys #为该目录和文件分配合适的访问权限 chmod 700 .ssh chmod 644 .ssh/auhtorized_keys #退出虚拟机,在本机尝试以公钥私钥的形式登录 ssh foo@ip -i .ssh/your_private_key #登录成功后,修改/etc/ssh/sshd_config,改变默认端口号、禁用密码登录: #Port 2200 #PasswordAuthentication no sudo nano /etc/ssh/sshd_config #重启ssh服务后生效 sudo service ssh restart #以新的端口号重新登录 ssh foo@ip -p 2200 -i .ssh/your_private_key
-
配置防火墙,仅打开要用到的端口号。
#首先关闭所有进入端口、打开所有出去端口 sudo ufw default deny incoming sudo ufw default allow outgoing #打开ssh端口 sudo ufw allow 2200/tcp #打开HTTP端口 sudo ufw allow www #或者sudo ufw allow 80/tcp #打开NTP端口 sudo ufw allow ntp #检查所添加的规则 sudo ufw show added #使防火墙生效 sudo ufw enable
设置时区
sudo dpkg-reconfigure tzdata
#设置NTP同步
sudo apt-get update
sudo apt-get install ntp-
更新升级操作系统、安装需要用到的软件。
#更新软件源列表 sudo apt-get update #升级 sudo apt-get upgrade #安装Apache服务器 sudo apt-get install apache2 #安装mod_wsgi sudo apt-get install python-setuptools libapache2-mod-wsgi #重启apache2使mod_wsgi生效 sudo service apache2 restart