使用 SSH-Key 登录远程服务器
ssh 提供两种级别的安全认证:
需要知道用户名和密码即可登录,该连接是加密的,但客户端不能确认目标主机是否为“伪造的”,也不能保证口令安全。
远程主机的 /etc/ssh/sshd_config 需配置:
重启 sshd 使改动生效:
需要用户持有“公钥/私钥对”,远程服务器持有公钥,本地持有私钥。
客户端向服务器发出请求。服务器收到请求之后,先在用户的主目录下找到该用户的公钥,然后对比用户发送过来的公钥。如果一致,服务器用公钥加密“质询”并发送给客户端。客户端收到“质询”后用私钥解密,再发还给服务器。认证结束。
生成 ssh-key,选加密算法(rsa、dsa),给秘钥命名(可选):
passphrase 是证书口令,以加强安全性,避免证书被恶意复制。
会在 ~.ssh 下生成 id_rsa , id_rsa.pub 两个文件,分别是 私钥/公钥。
公钥需保存到远程服务器 ~/.ssh/***thorized_keys 里,私钥由客户端本地留存。
要保证 .ssh 和 ***thorized_keys 都只有用户自己有写权限。否则验证无效。
简单情况下,通过手动指定私钥文件登录
觉得麻烦可以配置客户端的 /etc/ssh/ssh_config
你也可以使用 SSH Agent,下面以使用 GitHub 为场景简单介绍。
创建 ~/.ssh/config
配置完成后,在连接非默认账号的仓库时,远端地址要修改为
github上面的SSHKEY怎么理解
ssh是一种安全的传输模式
github要求推送代码的用户是合法的,所以每次推送时候都要输入账号密码,
用以验证你是否为合法用户,为了省去每次都要输入密码的步骤,采用shh公钥,密钥
也就是你说的sshkey来验证你是否为合法用户
在你的电脑生成了一个唯一的ssh公钥和私钥,公钥放到github上面,当你推送的时候,git就会
匹配你的私钥是否跟github上面的公钥是配对的,正确就认为你是合法的,允许推送。
sshkey可以理解为是你的身份标识,放在github上面表明你是这个项目的一个开发人员,但是别
人是可以截获的,你本机的私钥别人就无法截获,sshkey就可以保证每次传输都是安全的。
希望采纳
ssh-key配置
1. 检查ssh key 是否存在
ls -al ~/.ssh
如果key存在,会有 id_rsa 和 id_rsa.pub 可以直接将key复制到远程GitHub上。
如果key不存在,生成key
在命令行中输入:
ssh-keygen -t rsa -C 'your_email@example.com' 默认生成一个
密码,名称什么的都一路回车就OK了
将公有key(id_rsa.pub)复制到远程GitHub里,可以给你的key起一个名字
2. 查看公钥内容(即用来做ssh key用的)
$ cat ~/.ssh/id_rsa.pub
如果id_rsa.pub文件找不到,可以在终端中使用 open ~/.ssh ,打开ssh文件,可以看到 id_rsa,id_rsa.pub 文件;也可以在前往中终端输入"~/.ssh"来查看是否存在id_rsa.pub文件
3. 配置多个ssh-key
若.ssh目录(就是私钥所在的文件夹)下无config文件,那么创建
touch config
在config文件添加以下内容
如何生成SSH key
1、首先,使用两个git config ...命令设置用户名和电子邮件地址,然后使用ssh-keygen命令生成一对rsa密钥。
2、生成后,根据输出提示,打开存储密钥的文件夹,可以看到两个文件。私钥,公钥。使用文本编辑器打开id_rsa.pub文件。稍后将使用该副本的内容。
3、登录github,单击您的头像并转到“设置”设置。
4、切换到SSH和GPG密钥,然后单击SSH密钥右侧的新SSH密钥。
5、然后在添加新页面上,上面的标题写入标题并粘贴刚刚复制的公钥。
6、保存如下图所示。它可以使用。
sshkey的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于ssh可以连接windows吗、sshkey的信息别忘了在本站进行查找喔。