引入
如图,其中Password
是通过密码的方式,即你只需要知道远程服务器指定用户的登录密码,你可以连接它;而Key pair
则是通过密钥的方式,即你需要在本地服务器上生成公钥证书,然后上传到指定的远程服务器上才能进行访问。
至于为什么不通过密码连接而需要通过密钥连接呢,因为我不知道我想要连接的远程服务器的密码,但我又需要去连接它,同时我也拥有远程服务器的root权限,所以才考虑使用密钥连接的方式。其中使用密码连接远程Linux服务器请参考:使用IDEA中的SSH连接远程Linux系统服务器。
注:我这里是使用Windows系统上的IDEA去连接远程Linux系统。
步骤
在Windows上生成公钥证书
- 第一步,执行
Win+R
命令输入cmd
打开DOS命令行窗口。
- 第二步,在命令行窗口中输入
ssh -V
查看ssh版本号,判断ssh是否可以用,因为我们需要通过ssh
来生成证书文件。
如果打印出版本号则表示ssh
命令可用,如果没有则需要安装Open SSH工具,安装请参考博客的末尾。
- 第三步,
ssh
命令可用的话,就继续在命令行窗口输入ssh-keygen -t rsa
生成公钥证书和私钥证书文件。生成的目录也指明了,通常在用户的.ssh
目录下,其中id_rsa
是私钥证书文件,id_rsa.pub
为公钥证书文件。
这两个文件都会被用到,很重要。
将公钥证书放到Linux服务器上
在上一步中,我们已经在本地Windows系统生成了公钥证书和私钥证书,接下来就是要让远程Linux系统信任本地Windows系统,所以需要将在Windows系统生成的公钥证书文件id_rsa.pub
放到Linux系统的/root/.ssh
目录下,如果没有这个目录则执行mkdir -p /root/.ssh
命令进行创建。但是具体步骤如下:
- 第一步,复制Windows系统下
.ssh
目录下生成的公钥证书文件id_rsa.pub
的内容。下面的内容是我本地生成的,只是作为示例:
ssh-rsa AABCD3NzaC1yc2EAAAADAQABAAABAQDsQotEkKEto+tKtPe/f+Vqa6wYyVcrKYctzH9ufBKDCpuPx+GfudUZjXtHRYZExYRvoZPfJPRs+apsiO4EDjREFxCHJSrzhcY5Z/f01dUfMXWSJSG/jWyU+ihBa1AsHYpzBvspnkQ0YZJM/2C4YBNEiBGR44EFGP0VDm97Gprt7bUMst3r1AzieEbd2D6UeRtjJ9HfA//uV9VIIpfF0CyJTx2/w4w4jMtwmDSD0R/Kf7ujz36hmlrhrYAIBYcRxZsi5F7qn4pXEGpicjQ31RpjCZjKx4d9/FYGEb43s4Ufc47/hS4Hh0m4uTz7wYQk9 bbc@DESKTOP-L196HJJ
- 第二步,在Linux系统的
/root/.ssh
目录下执行vi authorized_keys
命令创建一个名为authorized_keys
的文件,然后将第一步复制的id_rsa.pub
的内容粘贴到该文件内。这样远程Linux服务器就信任本地的Windows系统服务器了,你可以在本地的Windows系统上通过ssh
远程登录Linux系统了。
- 第三步,测试。在本地Windows系统上输入
ssh 用户名@IP地址
进行远程登录。如果能登录成功并且能执行Linux命令表示配置成功。
注意:
- 其实就是将本地Windows系统上的公钥证书文件
id_rsa.pub
文件上传到远程Linux系统上的/root/.ssh
目录下并且重命名为authorized_keys
。 - 如果已经存在
authorized_keys
文件了,那么直接将复制的内容添加到文件的最后一行。因为每一行都表示一条信任连接,不要去删除。
IDEA通过SSH连接远程Linux服务器
只有前两步操作成功,才能通过IDEA来远程连接。
- 第一步,打开
File
,然后选择Settings...
。
- 第二步,选择
Tools
下的SSH Configurations
面板,点击+
号选择新建SSH连接。
- 第三步,输入连接参数。
Host
输入远程Linux服务器的IP地址;Port
输入端口号,默认是22;User name
输入登录的用户名;Authentication type
选择Key pair
表示通过密钥进行验证;Private key file
则选择Windows系统下私钥证书id_rsa
的目录,即在用户目录下的.ssh
子目录中;Passphrase
不用填。
- 第四步,如果有多个连接,那么在
SSH Terminal
面板中的SSH configuration
选择框中选择一台默认连接,或者选择Select SSH configuration on every run
表示在每次打开时手动选择要连接的主机。
- 第五步,在菜单条上的
Tools
中选择Start SSH Session...
开启会话。在出现的Select Host to Connect
面板中选择要连接的服务器。
- 第六步,连接成功
其他
安装Open SSH
详细可参考官网:安装 OpenSSH
可以使用 Windows Server 2019 和 Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件。
- 第一步,在开始菜单,找到
设置
,打开后选择应用
,接着打开应用和功能
,选择管理可选功能
- 第二步,扫描列表,查看是否安装
OpenSSH
,如果未安装,则在添加功能
上进行添加。
如果未安装,则查找OpenSSH 客户端
,进行安装;查找OpenSSH 服务器
,进行安装。
安装完成后,回到可选功能
就可以看到列出的OpenSSH
了。
最重要的是打开DOS窗口,输入ssh -V
命令验证是否可用。