debain使用私钥连接conoha主机以及恢复密码连接

运行环境及SSH连接问题解决方案

运行环境

  • 主机:日本 cp.conoha.jp
  • 主机系统:centos 5.9(32位)
  • 客户主机:debian testing jessie(32位)
  • 通过 reverse dns lookup 查看主机名与主机IP

SSH 连接问题

尝试通过以下命令连接:

ssh root@157.xxx

直接提示:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection

咋回事?一查才发现原来 cp.conoha.jp 主机默认只能通过私钥连接。然后,在 Google 上搜索发现几乎所有的教程都是关于使用 Putty 连接,没有说明在 Linux 下如何操作。继续搜索,终于找到了解决之道。

具体解决方法

  1. 下载私钥并修改权限

    • 先下载自动生成的私钥 xxx.key
    • 修改密钥的权限:chmod 400 xxx.key
  2. 使用 ssh-add 命令添加私钥

    • OpenSSH 里面的工具一般都默认安装好的。
    • 使用 ssh-add 命令,它的作用是向 SSH 代理添加 dsa key:ssh-add xxx.key(这一步如果不成功,可以尝试将密钥放到 .ssh 文件夹里面再去执行,可能会用到 root 权限,这点未测试)。
    • 使用 ssh root@157.x.x.x,不用输入密码直接就可以通过私钥连接了。
  3. 如何不使用私钥连接,直接使用用户名密码登录

    • 为了服务器的安全,像日本的名前 VPS,SSH 的远程登录,只能通过密钥 key 来登录服务器。
    • 密钥登录安全是安全,但是一旦密钥(key)没在身边的话,就麻烦了。
    • 要方便,不要安全,如何设置 SSH 通过密码登录呢?

设置 SSH 通过密码登录

  1. 登录后台,通过页面 VNC 登录上 VPS

  2. 修改 /etc/ssh/sshd_config 文件

    • 找到 PermitRootLogin yes,把前面的 ## 删除,设置为 PermitRootLogin yes
  3. 启用密码登录

    • 文件浏览到最底部,找到 PasswordAuthentication no,改为 PasswordAuthentication yes
  4. 重启 sshd 服务

    • 使用命令 service sshd restart,然后就可以用 Putty 等工具远程连接了。
上一篇
下一篇