运行环境及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 下如何操作。继续搜索,终于找到了解决之道。
具体解决方法
-
下载私钥并修改权限
- 先下载自动生成的私钥
xxx.key
。 - 修改密钥的权限:
chmod 400 xxx.key
- 先下载自动生成的私钥
-
使用
ssh-add
命令添加私钥- OpenSSH 里面的工具一般都默认安装好的。
- 使用
ssh-add
命令,它的作用是向 SSH 代理添加 dsa key:ssh-add xxx.key
(这一步如果不成功,可以尝试将密钥放到.ssh
文件夹里面再去执行,可能会用到 root 权限,这点未测试)。 - 使用
ssh root@157.x.x.x
,不用输入密码直接就可以通过私钥连接了。
-
如何不使用私钥连接,直接使用用户名密码登录
- 为了服务器的安全,像日本的名前 VPS,SSH 的远程登录,只能通过密钥 key 来登录服务器。
- 密钥登录安全是安全,但是一旦密钥(key)没在身边的话,就麻烦了。
- 要方便,不要安全,如何设置 SSH 通过密码登录呢?
设置 SSH 通过密码登录
-
登录后台,通过页面 VNC 登录上 VPS
-
修改
/etc/ssh/sshd_config
文件- 找到
PermitRootLogin yes
,把前面的##
删除,设置为PermitRootLogin yes
。
- 找到
-
启用密码登录
- 文件浏览到最底部,找到
PasswordAuthentication no
,改为PasswordAuthentication yes
。
- 文件浏览到最底部,找到
-
重启 sshd 服务
- 使用命令
service sshd restart
,然后就可以用 Putty 等工具远程连接了。
- 使用命令