使用SSH密钥对连接Linux实例
SSH密钥对介绍
SSH密钥对通过加密算法生成一对密钥,要使用SSH密钥对登录Linux实例,您必须先创建一个密钥对,并在创建实例时指定密钥对或者创建实例后绑定密钥对,然后使用私钥连接实例。
功能优势
相较于用户名和密码认证方式,SSH密钥对有以下优势:
- 安全性:SSH密钥对登录认证更为安全可靠。
- 密钥对安全强度远高于常规用户口令,可以杜绝暴力破解威胁。
- 不可能通过公钥推导出私钥。
- 便捷性:
- 如果您将公钥配置在Linux实例中,那么,在本地或者另外一台实例中,您可以使用私钥通过SSH命令或相关工具登录目标实例,而不需要输入密码。
- 便于远程登录大量Linux实例,方便管理。如果您需要批量维护多台Linux实例,推荐使用这种方式登录
使用限制
使用SSH密钥对有如下限制:
-
如果使用SSH密钥对登录Linux实例,将会禁用密码登录,以提高安全性。
-
仅支持Linux系统
生成新 SSH 密钥
-
打开控制台,粘贴下面的文本(替换为您的 GitHub 电子邮件地址)一路回车就可以了
root@debian:~# ssh-keygen -t rsa -b 2048 -C "your_email@example.com" Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:dDo66xochbFWEEVQXpADbzEgD1kz0XvqZ/Ir8YcdBYg i@guiyunweb.com The key's randomart image is: +---[RSA 4096]----+ | oo%%O+.. | | .+ XE+. . | | = =o. .. | | . o...o . | | . oS . | | . .o. .. | | o.oo o . | | .+o= o | | .oo*oo | +----[SHA256]-----+
检测**~/.ssh/(Linux/Mac) 或者是%USERPROFILE%/.ssh**(Win) 下有id_rsa和id_rsa.pub文件生成则证明密钥生成成功
安装密钥对
-
在服务器**~/.ssh下新建authorized_keys文件,并将公钥id_rsa.pub里的文件考入到authorized_keys**里面
root@debian:~# cat .ssh/id_rsa.pub >> .ssh/authorized_keys
-
确保连接成功,将文件权限正确
root@debian:~# chmod 600 .ssh/authorized_keys root@debian:~# chmod 700 .ssh
这样就可以使用SSH密钥对连接Linux实例了
为了安全,可以将密码登录禁用
-
编辑/etc/ssh/sshd_config 将**PasswordAuthentication **设置为no
PasswordAuthentication no
-
重启 SSH 服务让起其效
root@debian:~# service sshd restart
使用SSH连接GitHub
-
进入https://github.com/settings/keys 这个页面,点击New SSH Key 在Key中将id_rsa.pub文件中的内容拷进去就可以了
-
在控制台输入root@debian:~# ssh -T git@github.com 测试连接是否成功
root@debian:~# ssh -T git@github.com Hi Guiyunweb! You've successfully authenticated, but GitHub does not provide shell access.
使用SSH密钥对连接Linux实例
https://guiyunweb.com/archives/%E4%BD%BF%E7%94%A8ssh%E5%AF%86%E9%92%A5%E5%AF%B9%E8%BF%9E%E6%8E%A5linux%E5%AE%9E%E4%BE%8B