Windows SSH 设置免密连接远程 Ubuntu 服务器

碎碎念:原本以为配置ssh免密网上资料那么多应该手到擒来,没想到也会踩大坑,差点逼出强迫症来。。。写个小文章备忘一下,关键是步骤3!有可能你也像我一样折腾了很久,死活没法免密,最后才发现放置公钥keys的路径被别人修改了

1.在 Windows 上生成 SSH 密钥对

使用 ssh-keygen 命令生成公私钥对。

打开命令行工具(例如 PowerShell),运行以下命令:

ssh-keygen -t rsa 

然后一路按回车,这将生成RSA 密钥对,并保存在 C:\Users\yourusername.ssh\ 目录下,私钥为 id_rsa,公钥为 id_rsa.pub

配置config文件

vim ~/.ssh/config 

打开文件进行IP和用户名修改

# 主机名字AAA可以根据需要改
Host AAA
  HostName 49.235.66.200 # 改成自己的IP
  User ubuntu #改成自己的Linux用户
  Port 22 #端口号按照需要给

# Mac上可能需要下面这些内容
Host *
  HostKeyAlgorithms +ssh-rsa
  PubkeyAcceptedKeyTypes +ssh-rsa

2.上传公钥到服务器

登录到 Ubuntu 服务器,并将公钥(id_rsa.pub)里的内容复制到远程服务器的Ubuntu 服务器的 ~/.ssh/authorized_keys 文件中(没有这个文件手动生成一个),如果有多个keys则换行再添加

vim ~/.ssh/authorized_keys

检查权限:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

3.确保Ubuntu 服务器的 SSH 配置正确

编辑 /etc/ssh/sshd_config 文件(这个步骤很少被提到,但它可能是个巨坑!)

sudo vim /etc/ssh/sshd_config

确认下面配置是正确的

PubkeyAuthentication yes
AllowTcpForwarding yes
AllowAgentForwarding yes
GatewayPorts yes
PermitTunnel yes
CLientAliveCountMax 10

# 这行很重要!配置了服务器端的公钥keys的保存路径
AuthorizedKeysFile .ssh/authorized_keys

刷新一下配置

systemctl start sshd

4.验证ssh免密

ssh AAA #设置成功则可以直接回车登录

参考
https://zhuanlan.zhihu.com/p/627923696

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值