ssh免密登陆配置

本地终端:当前在用的计算机的终端

服务器终端:远程服务器的终端

1. 查看本地私钥文件

首先我们查看本地是否有ssh的私钥,在本地终端输入

cd .ssh
ls

如果这个文件夹里有”id_rsa”,那么我们可以选择直接跳到步骤2。

如果没有这个文件,我们需要在本地终端输入

ssh-keygen -t rsa

一路回车,我们就可以在.ssh目录下生成”id_rsa”和”id_rsa.pub”文件。

2. 远程拷贝

在这一步,我们将生成的”id_rsa.pub”文件拷贝到远程服务器的~/.ssh目录下

	scp <local_id_rsa_pub_path> <user@ip>:~/.ssh
为本地计算机”id_rsa.pub”文件的路径。 <user@ip>为一般ssh连接的格式,远程服务器的用户以及ip。例子:root@10.16.16.12 # 3. 公钥追加到授权KEY中 如果远程服务器上已经存在”~/.ssh/authorized_keys”文件,在服务器终端输入 ```bash cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` 意义就是将公钥的内容追加到”~/.ssh/authorized_keys”中。 如果远程服务器上没有该文件,那么在服务器终端输入 ```bash cp id_rsa.pub authorized_keys ``` 即将公钥复制为authorized_keys文件。 # 4. 进行测试 # 5. 更改ssh别名 每次要输入ip事实上是一个不太优雅的方式。我们可以通过修改本地的”~/.ssh/config”文件,将Host修改为自己设置的别名,比如修改成如下格式 ```bash Host **server** HostName 12.130.15.23 Port 16742 User root ``` 随后我们就可以直接通过 ```bash ssh server ``` 访问远程服务器。 # 参考 [https://www.jianshu.com/p/e9db116fef8c](https://www.jianshu.com/p/e9db116fef8c) [https://stackoverflow.com/questions/57734669/gitgithub-com-permission-denied-publickey](https://stackoverflow.com/questions/57734669/gitgithub-com-permission-denied-publickey)