ssh配合密钥连接

ssh连接方法:

终端

在终端输入(user_name和ip_address改成自己的):
ssh -X user_name@ip_address

接着输入密码,即可ssh连接到服务器的终端

要断开连接的话,输入

exit

文件

在文件夹的其他位置-输入服务器地址输入:

ssh://user_name@ip_address

密钥(linux)

如果不想每次登陆都输入密码,可以通过在服务器上存放密钥实现

  1. 在本机生成密钥:
    ssh-keygen

    1. 首先会询问
      "Enter file in which to save the key"
      是决定密钥文件储存的位置,默认位置在"~/.ssh/"
      如果自定义路径,那么需要设置名称,例如
      /home/XXX/KEY/NAME-key

      将在这个路径下生成一对密钥,包含
      公钥:id_xxx.pub
      私钥:id_xxx

    2. 接着询问
      "Enter passphrase"
      是否给 私钥文件 加一个保护口令,如果设置了,那么每次使用私钥需要输入口令
      在自己的服务器上我一般不设置(直接回车)

      "Enter same passphrase again:"
      输入相同的口令进行确认

    3. 然后密钥就会生成

      密钥分为公钥和私钥
      私钥保存在自己机器上,用来证明"我是本人"
      公钥用来分发给希望连接的服务器,用来验证是否持有对应的私钥

  2. 向目标服务器拷贝公钥
    ssh-copy-id user_name@ip_address
    把你机的 SSH 公钥,追加到远程服务器指定用户的"~/.ssh/authorized_keys" 文件中,从而启用基于密钥的 SSH 登录。

    指定某一把公钥:
    ssh-copy-id -i ~/.ssh/id_edxxx.pub user_name@ip_address

    成功后显示
    "Number of key(s) added: 1"

  3. 重新使用
    ssh -X user_name@ip_address
    连接目标服务器,这时会最后一次要求输入密码。
    在这之后再使用ssh -X user_name@ip_address连接都不需要再输入密码

密钥(windows)

安装

打开"管理员 PowerShell"后,执行:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

把OpenSSH 目录加入"系统 Path"

Environment\]::SetEnvironmentVariable( "Path", \[Environment\]::GetEnvironmentVariable("Path","Machine") + ";$env:WINDIR\\System32\\OpenSSH", "Machine" )

然后关闭所有终端,重新打开 PowerShell

ssh -V

ssh-keygen -h

按照相同的方法生成密钥

然后在 Windows 本机查看公钥内容

type $env:USERPROFILE\.ssh\id_ed25519.pub

会看到一行类似:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... 24556@DESKTOP-XXXX

在目标服务器上

nano ~/.ssh/authorized_keys

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... 24556@DESKTOP-XXXX

添加到authorized_keys后方

相关推荐
Sinclair1 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean2 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
埃博拉酱2 天前
VS Code Remote SSH 连接 Windows 服务器卡在"下载 VS Code 服务器":prcdn DNS 解析失败的诊断与 BITS 断点续传
windows·ssh·visual studio code
茶杯梦轩2 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
海天鹰3 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP3 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅3 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒3 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五3 天前
Nginx 高性能Web服务器笔记
服务器·nginx
失重外太空啦3 天前
Tomcat
java·服务器·tomcat