目录
话不多说直接上操作
作者使用的 Arch Linux 所以本文涉及到的命令是 shell 以及 Linux文件目录
第一种方式
首先shell终端运行 ssh-keygen 确保你已经安装了它(一般在你安装git的时候就自带了)
生成如下 默认生成一路回车即可
[root@master ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:cF4K7kjNurdb00+rd+j4cXKqlbfLRAOpwq7s7rJSdYw root@master
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| oo. . o |
| +E*oo . . |
| ..+.S . o |
| ..+ . o o . |
| .o . + . *.= |
| . .o.o . =o@.. |
| .oBOo +**.+. |
+----[SHA256]-----+
默认生成的话 它会生成在你的主目录 [ HOME ]/.ssh/ 文件夹下 window用户是在C盘的user/[ 你的转户名 ].ssh/ 然后打开它 看到里面的文件结构
其中有俩个文件生成的文件分别是 id_rsa 和 id_rsa.pub
运行以下命令 查看你的公钥
cat ~/.ssh/id_rsa.pub
现在将 id_rsa.pub里面的内容 复制到你的服务器的 ~/.ssh/authorized_keys 文件里面 没有的自己创建一个就好 接下来就可以免密连接了
额外配置
接下来是更加有趣性的配置
对于阿里云服务器我们可以使用阿里云中心的密钥对生成密钥
具体在 阿里云服务主页 点击 控制台 然后再点击 你的服务器 最左侧找到 网络与安全 里面就有密钥对生成 生成一个密钥 生成之后会自动下载一个密钥 这个密钥一定要保存好 放到自己的一个路径下等会用到 然后绑定到你的服务器 然后重启服务器 接下来就是本地的配置
这里在Linux系统的话,需要多执行一个命令 意思就是将密钥文件设置为所有者读写,其他人不可读写 否则在你连接服务器的时候会警告 连接不成功
# 注意更改为你的路径和文件名
chmod 600 ~/.ssh/archlinux.pem
首先在你主目录的 .ssh/ 目录下新建 config 文件
touch ~/.ssh/config
我的配置如下仅共参考
配置讲解
Host alias 指定别名 之后就可以这样登陆 ssh alias
HostName 指定远程主机的名称或IP地址
User root
Port 22
PreferredAuthentications publickey,password 指定首选的认证方式
ProxyJump jump_host 指定跳板主机(堡垒机)用于中转连接
ForwardAgent yes 允许SSH代理将本地密钥转发到远程服务器上
ForwardX11 yes 允许X11转发,用于在远程服务器上显示图形界面应用程序
IdentityFile ~/.ssh/archlinux.pem 这个是阿里云生成的密钥根据自己的密钥对更改即可
案例如下
Host aliyun
HostName 47.109.110.10
User root
Port 22
PreferredAuthentications publickey
ForwardAgent yes
IdentityFile ~/.ssh/archlinux.pem
接下来我们就可以 使用 ssh aliyun 登陆你的服务器啦
对于华为云服务器
我们可以使用第一种方式 也就是直接将 id_rsa.pub里面的内容 复制到你的服务器的 ~/.ssh/authorized_keys 文件里面
然后我们也可以这样在 ~/.ssh/config 文件里面做配置 比如这样
Host huaweiyun
HostName 服务器的ip地址
User root
Port 22
PreferredAuthentications publickey,password
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa
注意我们这里的 认证文件变了 是使用我们是 ssh-keygen 生成的 id_rsa 私钥文件
然后我们就可以通过命令 ssh huaweiyun 进行登陆你的服务器了