如何使用 SSH 密钥来访问主机?
你需要在控制台的"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 作为 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 client 端配置,添加
vi /etc/ssh/ssh_config
ServerAliveInterval 60
ServerAliveCountMax 3