ssh 连接远程 Linux 服务器
step1: 本地主机
打开powershell, 输入以下命令生成密钥:
ssh-keygen
- 过程中会让你指定文件。此处默认即可。
- 制定密码:必须必须必须设置。安全无小事。要5个字符以上。
之后就会生成一个公钥,一个私钥。
- 私钥路径是:
C:\Users\用户名\.ssh\id_rsa
- 公钥路径是:
C:\Users\用户名\.ssh\id_rsa.pub
请用文本编辑器(记事本就行)打开公钥文件,复制公钥备用。
step2: 远程主机
在服务器中进行配置,目的是让服务器识别出。注意要配置公钥,路径是 /etc/ssh/sshd_config
- 输入命令
sudo vim /etc/ssh/sshd_config
。配置这个需要 root 权限。 - 做出如下配置。注意三角符号处。
注意第二个三角符号处已经指定了公钥列表的文件名,需要创建(若无)该文件,运行以下命令
vim ~/.ssh/authorized_keys2
将step1 中复制的公钥粘贴进去。退出保存。
step3: 连接
- 在本地电脑中,打开Powershell
- 输入以下命令:
ssh 用户名@IP地址 -p 22 -i C:\Users\用户名\.ssh\id_rsa
注意:
- 第一个参数的用户名是服务器中的用户名,IP地址是公网IP。
- p 是指定端口,一般是222
- i 是指定私钥位置。此处就是 step1 中生成的私钥的位置
设置了密码,会在此处让再次输入(就是keygen时候的那个密码)。之后就大功告成了。
文中所有 CMD,powershell 均指Windows10 中 MS terminal preview 版本 中的 Powershell 7