天下大事 必作于细
利用git生成一对rsa公私密钥 keygen
windows的话,默认生成目录在C:\Users\用户名.ssh
id_rsa为私钥文件
id_rsa.pub为公钥文件
私钥文件为你的登录的身份证,登录时选择这个文件即可,具体见下文。
公钥文件需要放到服务器authorized_keys当中
sudo vim /etc/ssh/sshd_config //查看文件中的这两项是否都是yes,第一项是允许RSA密钥登录,第二项是允许公钥认证 RSAAuthentication yes PubkeyAuthentication yes
这样,密钥配置就完成了。
当然,有一个问题,就是你的服务器下面并不存在authorized_keys这个文件,甚至连.ssh文件夹都没有
那么,你自己建.ssh文件夹和authorized_keys文件然后再做一样操作即可,不过需要注意,文件夹和文件的权限是有要求的:
chmod 700 .ssh chmod 644 authorized_keys
下面,根据平台不同分成mobaxterm和vscode对本地设置私钥以及跳板机进行说明
为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
Host xxxxx HostName xx.xx.xx.xx User xxx Port xx IdentityFile 私钥路径
Host为服务器名称,可以随便起
HostName是服务器ip地址
User 用户名
Port 端口号
IdentityFile 指明私钥文件路径
为什么需要跳板机,这是为了实现从外网网址跳到内网服务器的需求。
Host public_net HostName xx.xx.xx.xx User xxx Port xx IdentityFile 私钥路径 Host inter_net HostName xx.xx.xx.xx User xxx Port xx IdentityFile 私钥路径 ProxyCommand ssh -W %h:%p public_net
ProxyCommand 能够指明通过另一个ip做跳板,其中ssh需要绝对运行路径,如C:\Windows\System32\OpenSSH\ssh.exe