在客户端使用私钥连接到服务器

windows客户端:

1.使用ssh时指定私钥路径

语法:ssh -i [私钥路径] [用户名]@[ip地址]

ssh -i D:\桌面\id_rsa root@192.168.20.128

可能会出现以下现象

PS C:\Users\13754> ssh -i D:\桌面\id_rsa root@192.168.20.128
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'D:\\\346\241\214\351\235\242\\id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "D:\\\346\241\214\351\235\242\\id_rsa": bad permissions
root@192.168.20.128's password:

描述:是因为 SSH 客户端检测到私钥文件的权限设置过于宽松,认为它可能存在安全隐患。在 Windows 上,SSH 要求私钥文件只能对用户自己可读。

解决办法:使用 icacls 命令设置仅自己拥有权限

需要执行两条指令,

语法:

icacls [密钥文件路径] /inheritance:r

icacls [密钥文件路径] /grant:r [当前用户名]:F

如果没有报错,就应该能再次使用ssh指定私钥文件连接到服务器了

ssh -i D:\桌面\id_rsa root@192.168.20.128

linux客户端:

语法:ssh -i [私钥路径] [用户名]@[ip地址]

ssh -i ./id_rsa root@192.168.20.128

可能会出现以下提示

root@debian:~/temp# ssh -i ./id_rsa root@192.168.20.128
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for './id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "./id_rsa": bad permissions
root@192.168.20.128's password:

描述:是因为 SSH 客户端检测到私钥文件的权限设置过于宽松,认为它可能存在安全隐患。在 Linux 上,SSH 要求私钥文件只能对用户自己可读。

解决办法:使用 chmod 命令设置仅自己拥有权限

chmod 600 ./id_rsa

如果没有报错,就应该能再次使用ssh指定私钥文件连接到服务器了

ssh -i D:\桌面\id_rsa root@192.168.20.128

枯死的灌木!