云服务器

如何使用 SSH 密钥来访问主机?

2017-09-05 14:58:30 0

你需要在控制台的"SSH 密钥"里面创建一个 SSH 密钥,然后加载到你的主机上并下载私钥文件(例如 kp-1234abcd )。

注解:在进行 SSH 连接之前,请确保在主机对应的防火墙下行规则中打开 TCP 22 号端口的访问。

你需要在控制台的"SSH 密钥"里面创建一个 SSH 密钥,然后加载到你的主机上并下载私钥文件(例如 kp-1234abcd )。

Linux下,使用下面的命令登录

chmod 600 /path/to/kp-1234abcd

ssh -i /path/to/kp-1234abcd root@ip_address

Windows 下用 putty

很多 Windows 桌面用户都会使用著名的 PuTTY 作为 SSH 客户端来登录远程的 Linux 主机,但是 PuTTY 不支持 OpenSSH 的密钥格式,而是使用它自己的密钥格式。因此,PuTTY 提供了一个名为puttygen的密钥格式转换工具。

首先下载putty和puttygen:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

转换密钥格式:

启动 puttygen,点击 Conversions –> Import key,选中您在睿江云中创建并下载的 SSH 密钥,文件名形如kp-1234abcd。然后点击 Save private key,您将得到 PuTTY 格式的私钥,如kp-1234abcd.ppk

配置登录:

打开putty。点击putty左边导航的connection->data, auto-login username 处填入登录名:root

点击putty左边导航的connection->ssh->auth, 最下面有private key file for authantication字样,点击旁边的browse,选择之前生成的kp-1234abcd.ppk文件,确定。

点击putty左边导航的session,host name中填写主机的公网IP地址,例如1.2.3.4。最后点击下面的open进行连接即可。

Windows 下使用 SecureCRT

注解:推荐使用SecureCRT 6.5 及以上版本,低版本会出现私钥无法导入的情况。

在睿江云控制台创建 SSH 密钥,将这个密钥加载到主机上并下载私钥文件,例如kp-12345678;

在 SecureCRT 上创建一个新连接,protocol 是 SSH2,hostname 是公网 IP 地址,username 为 root;

右键选中这个 session,选择 Properties,在 Connection –> SSH2 的 Authentication 面板里面,选中 PublicKey,点击右边的上箭头,将这个选项排到第一位;

继续选中 PublicKey,点击右边的 Properties,选择 Use session public key setting,在下面的 Use identity or certificate file,导入下载的私钥文件kp-12345678;连接即可。

较低版本的 SecureCRT 可能会遇到无法导入私钥的问题,因为低版本的 SecureCRT 会严格要求私钥需要和公钥共同存在,这种情况下,操作步骤如下:

在睿江云控制台创建 SSH 密钥,将这个密钥加载到主机上并下载私钥文件,例如放置于 /path/to/kp-1234abcd;

在路径 /path/to/ 下创建新文件kp-1234abcd.pub;

在 SSH 密钥 kp-1234abcd 的详情页中找到公钥的字符串,并拷贝下来放入kp-1234abcd.pub文件中,并且在公钥内容前面加上加密方式,最终文件内容为:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC90PM9PT........;

在 SecureCRT 上创建一个新连接,protocol 是 SSH2,hostname 是公网 IP 地址,username 为 root;

右键选中这个 session,选择 Properties,在 Connection –> SSH2 的 Authentication 面板里面,选中 PublicKey,点击右边的上箭头,将这个选项排到第一位;

继续选中 PublicKey,点击右边的 Properties,选择 Use session public key setting,在下面的 Use identity or certificate file,导入下载的私钥文件kp-12345678;连接即可

SSH 客户端连接 timeout 问题

ssh 的默认配置为了安全考虑,当发现客户端一段时间内没有输入,就会断开这个 session, 这给使用者带来些许不便。解决这个问题有两种办法:

修改 ssh server 端配置,添加/p>

vi /etc/ssh/sshd_config

ClientAliveInterval 60

ClientAliveCountMax 3

修改后记得重启 ssh server

修改 ssh client 端配置,添加

vi /etc/ssh/ssh_config

ServerAliveInterval 60

ServerAliveCountMax 3

下一篇: 无

微信关注

获取更多技术咨询