SSH 密码与秘钥登录方式

SSH 密码与秘钥登录方式,第1张

密码登录顾名思义极其简单,登录之前需要在ssh服务器上有相应的用户名与登录密码

密码登录命令行:ssh username@hostname -p port

username:登录用户名

hostname:ssh服务器,既可以是ip也可以是域名

port:这个为可选项,即ssh服务器的端口,如果为空则默认端口为22

秘钥登录使用加密的

终端下生成秘钥命令:ssh-keygen -t rsa(如果不输入密码,则不需要密码)

生成过程中会提示输入秘钥文件的名称,如果输入为 Key,则会生成 Key 与 Key.pub 两个文件, Key为私钥,Key.pub为公钥。将Key放入本机用户目录的 .ssh目录下,将.ssh目录权限改为700

将生成的公钥 Key.pub 上传至目标服务器,并将Key.pub放置于用户目录的.ssh目录,同样.ssh目录权限也为700

然后执行 cat Key.pub >>authorized_keys 将公钥导入,并确定authorized_keys权限为 600

秘钥配置好后,可以执行 ssh -i Key username@hostname -p port

ssh 默认秘钥为 id_rsa, 需要加上参数-i 指明秘钥

利用 ssh-keygen -t rsa -b 4096 -C "[email protected]" 生成公,私钥的时候设置私钥密码,导致ssh免登录设置完成后一直需要输入私钥密码,才能链接SSH服务端,非常不方便

将私钥添加到钥匙串中,按照提示输入私钥密码

在.ssh文件夹下config文件中配置服务器属性, UseKeychain , AddKeysToAgent 设置为YES

如果没有该文件,就创建一个

配置好以后 直接用 ssh name 就可以免密访问服务器啦

git支持https和git两种传输协议,github分享链接时会有两种协议可选,如果使用https协议,每次pull, push都会提示要输入密码,如果使用git协议,然后使用ssh密钥,这样免去每次都输密码的麻烦。

Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有 *** 作系统上都差不多。

1.生成密钥对

如果没有对应的文件,可以用ssh-keygen来创建

然后,会提示你输入密码,如下:

设置好之后,如下

到此为止,你本地的密钥对就生成了。

2.将SSH Key添加到ssh-agent

可以查看ssh-agent中的密钥,检测是否添加成功

还可以从ssh-agent中删除多余的密钥

3.添加公钥到你的远程仓库(如github)

4 验证下新增的key是否有生效

如果看到如下

恭喜你,你的设置已经成功了


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11625496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存