一.简述
密钥登录的原理:利用密钥生成器制作一只公钥和一只私钥。将公钥添加到服务器上,然后在客户端利用私钥即可登录。
二.生成密钥
通过命令 ssh-keygen
生成密钥是首选,密钥默认保留在 ~/.ssh
目录中,可以先通过命令ls -al ~/.ssh
在terminal/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直接访问。文章来源:https://www.toymoban.com/news/detail-745108.html
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/文章来源地址https://www.toymoban.com/news/detail-745108.html
到了这里,关于通过SSH设置密钥远程访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!