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

相关推荐
叶半欲缺22 分钟前
软考-中级信息安全工程师全战备资源包介绍和分享
网络·web安全
似水এ᭄往昔22 分钟前
【Linux网络编程】--计算机网络基础
linux·网络·计算机网络
qq_3129201125 分钟前
服务器被攻击!完整安全加固清单汇总
运维·服务器·安全
xlq2232225 分钟前
61 cookie session传输层
网络
XiaoLin laile29 分钟前
【无标题】
网络·数据库·人工智能
leaves falling30 分钟前
深入理解Linux进程控制:从fork到exec,手写一个迷你Shell
linux·运维·服务器
2401_8734794042 分钟前
如何用IP离线库批量清洗订单IP,自动标注省市区?
开发语言·网络·python
ZYH_06011 小时前
OSPF拓展作业
网络
humors2211 小时前
Windows运维与安全场景合集(不定期更新)
大数据·运维·服务器·程序人生·网络安全
愿天垂怜1 小时前
【C++脚手架】ffmpeg 库的介绍与使用
linux·服务器·开发语言·c++·ide·git·ffmpeg