ssh密钥登录的详细过程(ssh密钥登录原理)

 

ssh密钥登录的详细过程(ssh密钥登录原理)

 

概述

在开发的过程中,我们有很多时候需要用到ssh登录。

现在各种服务器登录又多,密码也多,密码容易忘记。

慢慢的,越来越多的登录使用了ssh密钥的方式。

在这里,把开发过程中常用的可以使用ssh密钥登录的配置方式记录下来。

 

环境

win11

 

生成密钥

打开cmd命令行,输入ssh生成命令,“ssh-keygen”工具可以由安装git客户端附带安装。

ssh-keygen -t rsa

之后不断Enter到底,命令会在“C:Users12345.ssh”目录下生成2个文件“id_rsa”(私钥文件,妥善保管)和“id_rsa.pub”(公钥文件)。

查看生成的密钥公钥。

cat ..sshid_rsa.pub
ssh-rsa XXXXXXXXC1yc2EXXXXDAQABAAABgQCuJsOZneFhNU5IUylpjluQRcz1hLT50hdhK5SW+ZjECCBDG3/Qerw2x+OMRYX8XXXXXaoQHyA9sYLKsvV1x9hi6GBDQph3ixrhH6qDiDYr8jrRxi/BIGpX8opa93IkjsduCji9SSrtgRXXXXXZkisBK2A0TNlToFseVm0hAsz64xGki59qzHxrOQVJpSAZv0cJ3GI+usahj/SndwbTl4YpCkL1F21ZMsyg6mAfXXXXXXQIw1vSoLlTgaV2/jp9Hh1HkjPHK2uaShbFVX4DNP8iLZ9lTNR/cmFT+ejmse6wNHAvVjdsMuh1yqZIVLNXXXXXM0Mzsxhv0ugAXVfMBV8KhRSTg4hHQtXXXXXXXnbkDHSXkLv+fOJtcwz+OduKw+rvcwx2FAkH3J9xPJUVe6loV9CUc2X7RNckKZG2jjVqaJYX2lNYCFQCUXXXXXXXX0mUZ5RdTnU2lrPPcwkkeLl

 

LINUX服务器登录配置

服务端配置。

上传公钥文件“id_rsa.pub”到服务器目录” ~/.ssh”,执行命令写入鉴权文件。

cat id_rsa.pub >> authorized_keys

 

客户端配置。

ssh客户端使用xshell测试。

配置会话属性->连接->用户身份验证,选择公钥鉴权优先。

配置属性截图。

 

ssh密钥登录的详细过程(ssh密钥登录原理)

 

配置好后,就可以免密码登录了。

 

GITLAB登录配置

服务端配置。

登录gitlab,选择“profile setting”,找到“SSH Keys”,执行“Add an SSH key”,复制“id_rsa.pub”的内容到“Key”并“Add key”。

配置界面截图。

 

ssh密钥登录的详细过程(ssh密钥登录原理)

 

客户端配置。

GIT客户端要区分不同的SSH client。

普通的gitbash自带的“‪C:Program FilesGitusrbinssh.exe”的配置方法和xshell是类似的。

而TortoiseGit自带的“C:Program FilesTortoiseGitbinTortoiseGitPlink.exe”则需要做格式转换,把密钥文件转换为ppk文件,下面介绍ppk文件的配置方法。

打开cmd命令行,输入命令“puttygen”,打开GUI工具“putty key generator”,点击“Conversions“菜单项中的”Import key“,选择在刚刚生成的”id_rsa“文件 ,在puttygen的界面上点击Save private key按钮就可以把私钥转换为ppk的格式。

执行git命令时选择“load putty key“,clone的配置如截图。

ssh密钥登录的详细过程(ssh密钥登录原理)

 

VSCODE远程调试配置

vscode终端可以直接连接到linux服务器,并远程调试运行程序,只需要按照一个“remote-ssh”插件,非常方便。

服务端配置。

远程服务器配置方法和上面的“LINUX服务器配置”方法一样。

上传公钥文件“id_rsa.pub”到服务器目录” ~/.ssh”,执行命令写入鉴权文件。

cat id_rsa.pub >> authorized_keys

客户端配置。

vscode要先按照好“remote-ssh”插件。

打开VSCode,按F1,输入“remote ssh config”,选择“remote-ssh:open ssh configuration file…”,打开默认config文件,配置如下。

Host 192.168.0.151
HostName 192.168.0.151
User root
Port 22
IdentityFile "C:Users12345.sshid_rsa"

登录方法1,按F1,输入“remote ssh connect”,选择“remote-ssh:connect to host…”,选择“192.168.0.151“服务器。

登录方法2,选择vscode最左边的插件窗口“远程资源管理器“,找到要登录的服务器并右键连接。

登录成功之后,可以在vscode的左下角看到“SSH:192.168.0.151“的成功标识。

总结

使用“ssh-keygen“生成密钥文件“id_rsa”和“id_rsa.pub”。

使用“puttygen“生成ppk文件。

vscode中的远程登录和xshell其实是一样的,只是界面和配置方法有区别。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发表评论

登录后才能评论