1.在 Ubuntu 系统中配置 SSH 服务(使用付费或实验室服务器一般不用这一步前人已经栽好树了)
- 首先要确保 Ubuntu 系统安装并开启了 SSH 服务。如果没有安装,可以通过以下命令在终端中进行安装:
sudo apt update sudo apt install openssh - server #安装完成后,检查 SSH 服务状态 sudo service ssh status #如果看到 “active (running)” 字样,说明 SSH 服务已经成功开启。 #如果没有运行,可以使用sudo service ssh start开启服务。
2.在 Windows 系统中生成 SSH 密钥对
- 你可以使用 Windows 自带的 OpenSSH 工具来生成密钥对。
- 打开 “命令提示符”(CMD)或 “PowerShell”,输入以下命令:
ssh-keygen -t rsa
- 按回车键后,这里 “-t rsa” 表示使用 RSA 算法,系统会提示你指定密钥文件的保存位置。默认位置是
C:\Users\你的用户名\\.ssh\id_rsa
,你可以直接按回车键使用默认位置。 - 可能自己电脑上已经存在.ssh文件先把他改个名字,不然后面会生成一个新的.ssh文件会报错
- 接着会提示你输入一个密码来保护私钥。如果你希望实现免密登录,直接按回车键(即不设置密码)。
3.将 Windows 中的公钥复制到 Ubuntu 系统
3.1手动复制公钥
使用SSH连接到你的Ubuntu服务器:
#示例如下
ssh [email protected]
登录后,创建.ssh目录(如果不存在) 并设置权限:(这步也是前人栽树)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
- 在 Windows 中,找到生成的公钥文件,其路径通常是
C:\Users\你的用户名\\.ssh\id_rsa.pub
。 - 打开公钥文件,复制其中的内容。这俩步看可以使用指令进行替代,指令如下:
#windows终端 type C:\Users\25191\.ssh\id_rsa.pub
终端会显示出来一段密钥
-
1.(每个电脑都是独特密钥不要用我的对你没用)
-
2.注意等号后面有用户名和主机名(我的是25191@ggb)
-
3.复制下来后面用
3.2插入公钥
-
然后使用以下命令将公钥内容添加到
authorized_keys
文件中:(在Ubuntu系统中插入) -
ssh 用户名@Ubuntu系统的IP地址
Ubuntu系统里.ssh文件夹下的authorized_keys文件可以像下面一样看看有没有
echo "复制的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
注意,“复制的公钥内容” 要替换为你从 Windows 公钥文件中复制的实际内容。chmod 600
命令是为了设置authorized_keys
文件的权限,保证只有用户自己可以读写,增强安全性。
4. 测试免密登录
- 在 Windows 的 “命令提示符” 或 “PowerShell” 中,使用以下命令登录 Ubuntu 系统:
ssh 用户名@Ubuntu系统的IP地址
例如,如果 Ubuntu 系统的用户名为 “ubuntu”,IP 地址为 “192.168.1.100”,则命令为ssh [email protected]
。
如果配置正确,你应该可以直接登录到 Ubuntu 系统,而无需输入密码。
下拉有懒偷!!!
精简版
进入ubuntu系统
1.安装ssh服务
sudo apt update
sudo apt install openssh - server
2.检测是否开启服务
sudo service ssh status
sudo service ssh start
进入windows系统(win+r打开cmd)
获取密钥(记得先把该C:\Users\25191\.ssh中原先存在的.ssh文件先重命名不然后面会报错)
ssh-keygen -t rsa
1.一直回车就是实现免密
2.查看密钥
type C:\Users\25191\.ssh\id_rsa.pub
3.复制密钥
4.添加密钥设置权限(在Ubuntu系统操作)
连接服务器进入ubuntu系统
ssh 用户名@Ubuntu系统的IP地址
创建.ssh目录并且设置权限(有就不用)
mkdir -p ~/.ssh
chmod 700 ~/.ssh
使用以下命令将公钥内容添加到authorized_keys
文件中:(记得是Ubuntu系统里的.ssh下的文件)
ctrl+v粘贴不出来的话,可以试试鼠标右键进行粘贴
echo "复制的公钥内容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
5.使用命令测试是不是免密登录ubuntu
ssh 用户名@Ubuntu系统的IP地址
配置正确,你应该可以直接登录到 Ubuntu 系统,而无需输入密码!!
标签:公钥,Windows,系统,keys,免密,ssh,Ubuntu,authorized From: https://blog.csdn.net/qq_64667604/article/details/143365497