📜  cat ~ .ssh id_rsa.pub - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:59:53.779000             🧑  作者: Mango

使用Shell命令和Bash脚本拼接cat命令来获取ssh公钥

如果你是程序员,特别是使用Linux或Unix系统的程序员,你可能会需要使用ssh密钥来在不同计算机之间进行安全的身份验证。要在远程计算机上进行身份验证,你需要在本地计算机上生成一个ssh密钥,并将公钥添加到远程计算机的authorized_keys文件中。

本文将介绍如何使用Shell命令和Bash脚本拼接cat命令来获取ssh公钥。

首先,你需要确保你的系统已经生成了ssh密钥。如果还没有,你可以通过以下命令来生成:

ssh-keygen

在提示输入文件名和密码时,可以一路回车使用默认设置。这将在本地计算机的~/.ssh目录下生成一个id_rsa私钥和一个id_rsa.pub公钥文件。id_rsa是私钥文件,而id_rsa.pub是公钥文件。

现在,你可以使用cat命令来获取公钥。下面是一个Shell命令示例:

cat ~/.ssh/id_rsa.pub

这将打印公钥到终端输出中。

如果你想将公钥复制到远程计算机的authorized_keys文件中,你可以使用以下命令:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

这将把公钥添加到远程计算机的authorized_keys文件中。

如果你需要将这个命令嵌入到Bash脚本中,你可以使用以下示例脚本:

#!/bin/bash

KEY_FILE=~/.ssh/id_rsa.pub
REMOTE_HOST=example.com
REMOTE_USER=username

cat "$KEY_FILE" | ssh "$REMOTE_USER@$REMOTE_HOST" "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

这个脚本将使用变量$KEY_FILE,$REMOTE_HOST和$REMOTE_USER来替换命令中的值,从而实现更方便的使用。

总之,使用Shell命令和Bash脚本拼接cat命令来获取ssh公钥是非常方便的,特别是当你需要在多个计算机之间进行身份验证时。