一、查看本机 ssh 公钥,生成公钥
1.通过命令窗口
a. 打开你的 git bash 窗口
b. 进入 .ssh 目录:cd ~/.ssh
c. 找到 id_rsa.pub 文件:ls
d. 查看公钥:cat id_rsa.pub 或者 vim id_rsa.pub
git–查看本机 ssh 公钥,生成公钥
二、手动将 ssh 公钥添加到服务器
方法1:自动将ssh密钥复制到服务器
用户端
:第一种方法是用户将其个人计算机的公钥复制到远程服务器上的授权密钥列表中。
这里,假设你能够使用 ssh 登录到远程服务器 user_name@ip_of_server,它会询问你的帐户密码,然后您进入服务器。
如果你将公钥添加到服务器,那么就应该可以在不输入密码的情况下登录。
OpenSSH 提供了一个称为 ssh-copy-id 的工具,用于将 ssh 公钥复制到远程系统,它还可以创建所需的目录和文件。如下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub YOUR_USER_NAME@IP_ADDRESS_OF_THE_SERVER
出现系统提示时,输入远程服务器上用户帐户的密码,公钥就会自动复制到远程服务器上的相应文件夹中。
上述命令中有个路径:~/.ssh/id_rsa.pu,这是 ssh 公钥的默认位置,大家需要根据自己实际情况修改这个路径。
方法2:手动将 ssh 公钥添加到服务器
管理员端
:假设你是系统管理员,你的服务器不允许通过密码进行 ssh 登录,那么访问服务器的唯一方法是使用 ssh 公钥身份验证。
在这种情况下,你可以要求最终用户提供其公钥。现在,你可以做的是创建 .ssh/authorized_keys 目录,然后在这里复制公钥。
步骤1:获取公钥
键入如下命令,要求用户提供公钥:
cat ~/.ssh/id_rsa.pub
它将显示一个以 ssh-rsa 开头的长字符串:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ3GIJzTX7J6zsCrywcjAM/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWm49NWvoo0hdM71sblF956IXY3cRLcTjPlQ84mChKL1X7+D645c7O4Z1N3KtL7l5nVKSG81ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUmt1a00mWci/1qUlaVFft085yvVq7KZbF2OP2NQACUkwfwh+iSTP username@hostname
步骤2:在用户的主目录中创建ssh目录(作为sysadmin)
注意,你必须在最终用户的主目录中创建这些新目录和文件,而不是你的主目录(root/sysadmin)。
mkdir -p /home/user_name/.ssh
touch /home/user_name/.ssh/authorized_keys
然后使用文本编辑器(比如 vim)打开这个文件 /home/user_name/.ssh/authorized_keys,并在此处添加用户公钥:
vim /home/user_name/.ssh/authorized_keys
保存并关闭。
步骤3:为文件设置权限
然后我们需要为文件设置适当的权限,否则回看到类似 Permission denied (publickey) 的报错信息。
首先,确保设置正确的文件权限:
chmod 700 /home/user_name/.ssh
chmod 600 /home/user_name/.ssh/authorized_keys
由于我们使用 root 或我们自己的管理员帐户为其他用户创建了这些文件,所以需要更改用户的所有权:
chown -R username /home/username/.ssh
如何向服务器添加 ssh 公钥