ToB企服应用市场:ToB评测及商务社交产业平台

标题: Linux和Windows配置公钥到服务器上【免密登录/传输文件】 [打印本页]

作者: 科技颠覆者    时间: 2024-7-11 19:41
标题: Linux和Windows配置公钥到服务器上【免密登录/传输文件】
1.Windows配置公钥到服务器上

如果你在本地使用的是 Windows ,要将本地天生的 SSH 公钥复制到长途服务器上,可以按照以下步骤举行操作:
1.1.天生SSH密钥对(如果尚未天生):

在 Windows 11 上,你可以使用 Git Bash 大概 Windows Terminal 来天生 SSH 密钥对。

  1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码
按照提示操作,选择密钥文件存储位置,默认环境下将会存储在 C:\Users\YourUsername\.ssh\id_rsa 和 C:\Users\YourUsername\.ssh\id_rsa.pub。
1.2.复制公钥到长途服务器:

在 Windows 上,你可以使用 ssh-copy-id 来简化复制公钥的过程,但通常它并不是默认安装的。因此,你可以手动复制公钥到长途服务器。

1.3.手动复制公钥到长途服务器:


  1. mkdir -p ~/.ssh
  2. chmod 700 ~/.ssh
复制代码

  1. nano ~/.ssh/authorized_keys
  2. vim ~/.ssh/authorized_keys
复制代码
然后粘贴本地公钥的内容并保存文件。

  1. chmod 600 ~/.ssh/authorized_keys
复制代码
1.4.测试SSH毗连:

关闭当前的 SSH 毗连会话,然后实验使用 SSH 密钥登录到长途服务器:
  1. ssh username@server_ip
复制代码
如果乐成毗连到服务器而不需要输入密码,则说明公钥复制乐成。
通过这些步骤,你应该能够在 Windows大将本地天生的 SSH 公钥复制到长途服务器,并使用 SSH 密钥举行无密码登录。
2.Linux配置公钥到服务器上

2.1天生SSH密钥对(如果还没有的话)

  1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码
按提示操作,通常会将密钥对存储在 ~/.ssh/id_rsa 和 ~/.ssh/id_rsa.pub。
2.2.将公钥复制到长途服务器:

1. 你可以使用 ssh-copy-id 命令将公钥复制到长途服务器。

假设你的用户名是 username,服务器所在是 server_ip:
  1. ssh-copy-id username@server_ip
复制代码
体系会提示输入长途服务器的密码。输入密码后,ssh-copy-id 会自动将你的公钥追加到长途服务器上的 ~/.ssh/authorized_keys 文件中。
2. 手动复制公钥(如果没有 ssh-copy-id)

如果你的体系没有 ssh-copy-id 命令,你可以手动将公钥复制到长途服务器。
  1. cat ~/.ssh/id_rsa.pub
复制代码
  1. ssh username@server_ip
复制代码
  1. mkdir -p ~/.ssh
  2. chmod 700 ~/.ssh
复制代码
  1. echo "your_public_key_content" >> ~/.ssh/authorized_keys
  2. chmod 600 ~/.ssh/authorized_keys
复制代码
3.测试毗连:

退出长途服务器并实验使用SSH密钥登录:
  1. ssh username@server_ip
复制代码
如果乐成登录而不需要输入密码,则说明公钥复制乐成。这些步骤完成后,你应该能够使用SSH密钥举行无密码登录到长途服务器。
4.大概出现警告

这个警告提示是由于长途主机的身份验证信息发生了厘革,大概是由于以下缘故因由之一:

  1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  2. @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
  3. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  4. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
  5. Someone could be eavesdropping on you right now (man-in-the-middle attack)!
  6. It is also possible that a host key has just been changed.
  7. The fingerprint for the ECDSA key sent by the remote host is
  8. SHA256:rorOjL7yjvcVHHyhMGHlXrI/ivIc6ufFCz5Ic2eEVbA.
  9. Please contact your system administrator.
  10. Add correct host key in /root/.ssh/known_hosts to get rid of this message.
  11. Offending ECDSA key in /root/.ssh/known_hosts:5
  12.   remove with:
  13.   ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.1.1"
  14. Host key for 192.168.1.1 has changed and you have requested strict checking.
  15. Host key verification failed.
复制代码
解决方法:
如果你信托服务器的新密钥,可以实行以下命令更新 known_hosts 文件。请确保替换 “192.168.1.1” 为现实的服务器IP所在。
  1. ssh-keygen -f "/root/.ssh/known_hosts" -R "192.168.2.126"
复制代码
然后再次实验毗连服务器,SSH 将会询问你是否接受新的密钥。
如果你不确定这个警告的缘故因由,大概认为大概存在安全题目,建议联系体系管理员进一步确认服务器的状态和密钥更改的缘故因由。
如果你确认服务器的更改是合法的,可以在 SSH 毗连时添加 -o StrictHostKeyChecking=no 参数到临时取消严格主秘密钥检查。但这会增加潜在的安全风险,只适用于临时调试或特定环境下使用。
  1. ssh -o StrictHostKeyChecking=no user@192.168.2.126
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4