我有两台机器:
- 已安装的Windows 机器
WSL
,用作客户端。 - 带有
test-user
用户的 Ubuntu 机器,用作服务器。
两台计算机在同一个网络上。
在 Ubuntu 计算机上,我做了什么:
- 我曾经
ssh-keygen
生成两个密钥,我将id_rsa文件复制到WSL
. - 确保 ssh 服务已启动,使用
systemctl status ssh
.
在 WSL 上,我做了什么:
- 将id_rsa文件复制为key。
- 用 .更改了密钥文件的权限
chmod 600 key
。 - 连接到服务器机器:
ssh -i key test-user@XXX.XXX.XXX.XXX
这很好用,但它也会询问我用户的密码。
hamuto@DESKTOP-HLSFHPR:~$ ssh -i key test-user@XXX.XXX.XXX.XXX
test-user@XXX.XXX.XXX.XXX的密码:
这个东西的问题是,Github Actions
我无法输入密码。
所以我更改 /etc/ssh/sshd_config
了服务器中的文件:
# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no <-- I've changed that to no, and uncomment the line
#PermitEmptyPasswords no
当我重试连接 ssh 时:
hamuto@DESKTOP-HLSFHPR:~$ ssh -i key test-user@XXX.XXX.XXX.XXX
test-user@XXX.XXX.XXX.XXX:权限被拒绝(公钥)。