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后方

相关推荐
讯捷蓝达1 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
数字新视界4 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落4 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
lisanmengmeng4 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器
严肃小白兔5 小时前
Cloudflare 更新 API Token 管理:从最小权限到自动化凭据安全
网络·安全·自动化
Android系统攻城狮5 小时前
Linux FFmpeg深度解析之av_write_frame调用流程与实战(三十三)
linux·运维·服务器·ffmpeg·音视频进阶·ffmpeg音视频
上火的金鱼妹5 小时前
k8s生产实际问题排查(网关,数据库读写等)
运维·服务器
Linux-lucky17 小时前
45-Linux学习之旅之防火墙与WEB加固
linux·前端·网络·学习·ubuntu
爱莉希雅&&&19 小时前
GitLab 完整学习笔记
linux·运维·服务器
博客zhu虎康20 小时前
实现局域网P2P通信:内网发送消息
网络·网络协议·p2p