# 服务器管理 ## 添加服务器 ![管理服务器截图](https://github.com/waylybaye/HyperApp-Guide/raw/master/images/manage-server.png "添加服务器") 1. 打开服务器页面,在这里可以显示基本的服务器运行状态,您可以随时下拉刷新更新重新检查服务器状态 2. 添加服务器时您可以使用 root 账号登录也可以使用具有 sudo 权限的非 root 账号登录。如果您使用密码登录请填写密码,如果使用私钥登录密码可以留空。 * Name: 为您的服务器起个名字 * Host: 您服务器的公网IP或者域名 * Port: SSH的端口,一般是22 * User: 您登陆用的用户名    * Password: 您的密码,如果使用密钥登录此处可以留空,请参考下面 3. 如果您使用私钥登录,那么请将您的私钥复制到剪切板中(iCloud剪贴板同步或者使用其它同步App)然后点击 "Paste Privatekey from Clipboard" 从剪贴板中复制私钥,如果您的私钥是加密的那么请在 Passphrase 中输入,否则留空。 关于密钥的更多信息请参考 [常见问题](#常见问题) * Linode/Vultr/DigitalOcean 等厂商一般可以使用 root 账号和密码直接登录 * 如果您使用 Google Cloud Engine 或者 AWS EC2 等默认禁止 root 登录的账号,请查看下面的教程怎样配置私钥登录,然后重复上面的第3步。 --- ## Google Cloud Engine ![管理服务器密钥截图](https://github.com/waylybaye/HyperApp-Guide/raw/master/images/gce-keys.png "管理服务器密钥") #### 打开上图中的页面 在这个页面您可以添加已有的密钥到 GCE 中,您可以点击修改,然后将您上面 `id_rsa.pub` 文件的内容复制到里面去, **GCE 会自动识别里面的用户名,显示在用户名一列,这个就是您登录服务器需要的用户名**。 当您将公钥上传上去后,就可以用您的私钥在您的计算机上直接登录 GCE 服务器了。您可以在计算机(安装了Linux/Mac OS)进行测试: `ssh -i ~/.ssh/id_rsa 上一步显示的用户名@GCE.PUBLIC.IP` 一般来说您可以省略 `-i ~/.ssh/id_rsa` 参数,因为 ssh 会自动检查这个默认路径,但如果您生成的密钥在其它地方就需要用 `-i` 参数指定了。 如果您在计算机上测试没有问题,那么可以复制私钥的内容到手机上,并在 HyperApp 添加服务器窗口中点击复制密钥来登录了。 --- ## 关于密钥登录的常见问题 **公钥和私钥在什么地方?** 一般来说默认的密钥在您的 `~/.ssh/` 目录下(Mac、Linux),其中 `id_rsa` 是私钥, `id_rsa.pub` 是公钥。 **公钥和私钥的格式是什么?** 1. 公钥一般以 `ssh-rsa *****` 相比私钥内容会更短 2. 私钥一般是下面的格式: ``` -----BEGIN **** PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,D64916783E629696 *************************************** *************************************** -----END **** PRIVATE KEY----- ``` 其中 **** 是 OpenSSH 或者 RSA,注意 `EC` 的密钥可能会认证失败。 **怎样判断私钥是否有加密?** 您可以查看私钥第二行是否有 **ENCRYPTED** 的字样,如果有则是加密的。 **我不知道 Mac 上 `id_rsa` 的密码怎么办?** 如果您使用 Mac 那么 `id_rsa` 的密码保存在钥匙串中,您可以打开:`应用程序 - 实用工具 - 钥匙串访问`,并在右上角搜索 "id_rsa" 获取其密码。