1. 设置通过 SSH 密钥方式连接(实现无密码登录)
请先检查本机目录 C:\Users\<用户名>\.ssh
下是否有 id_rsa
和 id_rsa.pub
两个文件,如果有直接上传公钥 id_rsa.pub
到 Linux 服务器(步骤2)即可,无需再生成密钥对
1. 在本机生成 SSH 密钥对
1.1 打开 PowerShell
1.2 输入以下命令按回车确认
$ ssh-keygen -t rsa
1.3 弹出密钥保存位置提示后,继续按回车 (密钥对将生成到默认位置 )
C:\Users\<用户名>\.ssh\
1.4 弹出输入密码提示后,继续按回车(此时不设置密钥对验证密码)
1.5 弹出确认密码提示后,继续按回车
1.6 检查本机目录
C:\Users\<用户名>\.ssh\
下存在
id_rsa
和
id_rsa.pub
两个文件
1.7 密钥对生成完毕
2. 上传公钥到 Linux 服务器
将本机公钥放到Linux服务器 .ssh/authorized_keys 文件中,如果没有此文件,需要创建一个。如果已经存在,那么将刚刚生成的公钥追加到该文件的末尾即可。
2.1 通过方式一连接到 Linux 服务器
2.2 在远程服务器上输入以下命令(如果未在远程Linux上创建过)
$ mkdir ~/.ssh && touch ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys
2.3 在本机输入命令
$ scp C:\Users\<用户名>\.ssh\id_rsa.pub <username>@<server-ip-address>:~/.ssh/authorized_keys
2.4 输入密码后,按回车确认
2.5 上传成功后输入以下命令即可无密码成功连接服务器
$ ssh <username>@<server-ip-address>
2. 配置 config
文件简化登录输入, 为ssh连接设置别名
$ vim C:\Users\<用户名>\.ssh\config
输入以下内容:
Host <name-you-want>
HostName <server-ip-address>
User <username>
PubkeyAuthentication yes
config
文件创建好后,直接输入以下命令登录服务器
$ ssh <name-you-want>