通过SSH设置密钥远程访问

一.简述

密钥登录的原理:利用密钥生成器制作一只公钥和一只私钥。将公钥添加到服务器上,然后在客户端利用私钥即可登录。

二.生成密钥

通过命令 ssh-keygen生成密钥是首选,密钥默认保留在 ~/.ssh目录中,可以先通过命令ls -al ~/.sshterminal/powershell中查询是否存在密钥。
没有密钥则在本地 terminal/powershell输入:
ssh-keygen -t rsa -b 4096

创建密钥的参数如下

-t rsa = 密钥类型,可以设置为RSA 格式

-b 4096 = 密钥的位数,这里为 4096

-m PEM = 密钥的格式,可以设置为 PEM

-C "annotation" = 密钥的注释,加到公钥文件末尾以便于识别。

-f ~/.ssh/keypath = 密钥的私钥文件的文件名(不输入则为默认名称)。

-N passpharse = 其他密码,用于访问私钥文件。

生成过程

在密钥生成中,会要求你确认密钥保存文件以及密钥锁码,默认的情况摁3次Enter就可以了,第一次确认文件目录,后两次确认密钥锁码(不输入就是不设置)。

Generating public/private rsa key pair.
Enter file in which to save the key (/user_root/.ssh/id_rsa): Enter
passphrase (empty for no passphrase): 
Enter same passphrase again: 
our identification has been saved in /user_root/.ssh/id_rsa.    #私钥
Your public key has been saved in /user_root/.ssh/id_rsa.pub.  #公钥
The key fingerprint is: 
The key's randomart image is:

三.授权登陆

mac/linux Local 连接 mac/linux Host

打开本地 terminal/powershell,输入

export USER_AT_HOST="your-user-name-on-host@hostname"
export PUBKEYPATH="$HOME/.ssh/id_rsa.pub"

ssh-copy-id -i "$PUBKEYPATH" "$USER_AT_HOST"

即可完成操作,不用输入密码也可以ssh直接访问。

mac/linux Local 连接 windows Host
export USER_AT_HOST="your-user-name-on-host@hostname"
export PUBKEYPATH="$HOME/.ssh/id_rsa.pub"

ssh $USER_AT_HOST "powershell New-Item -Force -ItemType Directory -Path \"\$HOME\\.ssh\"; Add-Content -Force -Path \"\$HOME\\.ssh\\authorized_keys\" -Value '$(tr -d '\n\r' < "$PUBKEYPATH")'"
windows Local 连接 mac/linux Host
$USER_AT_HOST="your-user-name-on-host@hostname"
$PUBKEYPATH="$HOME\.ssh\id_rsa.pub"

$pubKey=(Get-Content "$PUBKEYPATH" | Out-String); ssh "$USER_AT_HOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && echo '${pubKey}' >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"
windows Local 连接 windows Host
$USER_AT_HOST="your-user-name-on-host@hostname"
$PUBKEYPATH="$HOME\.ssh\id_rsa.pub"

Get-Content "$PUBKEYPATH" | Out-String | ssh $USER_AT_HOST "powershell `"New-Item -Force -ItemType Directory -Path `"`$HOME\.ssh`"; Add-Content -Force -Path `"`$HOME\.ssh\authorized_keys`" `""

参考

1.https://code.visualstudio.com/docs/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值