“cat - ”在此命令中的含义是什么:cat~ / .ssh / id_dsa.pub | ssh user @ hostname“cat - >>〜/ .ssh / authorized_keys”

时间:2014-02-27 19:09:18

标签: unix

我看到了以下命令

cat ~/.ssh/id_dsa.pub | ssh user@hostname "cat - >> ~/.ssh/authorized_keys"

另一种变化:

cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "cat >> ~/.ssh/authorized_keys"

“猫 - ”是什么意思?这实际上有助于将公钥预先添加到授权密钥列表中。

来源

https://www.digitalocean.com/community/articles/how-to-set-up-ssh-keys--2 http://www.davidgrant.ca/copy_ssh_public_key_to_server_in_one_line

1 个答案:

答案 0 :(得分:2)

命令:

cat - 

做了一只stdin的猫

例如:

$ cat > /test.txt
here goes some text into 
the file

[Ctrl] - [D]组合键以退出猫

查看文件内容:

cat test.txt

因此,

cat ~/.ssh/id_rsa.pub | ssh user@hostname "cat - >> ~/.ssh/authorized_keys"

表示将id_rsa.pub PIPE的内容转换为ssh命令,并捕获stdin内容并将其附加到远程服务器上的〜/ .ssh / authorized_keys

更多示例:

$ cat Desktop/p.txt | cat - > /tmp/t.txt
$ cat /tmp/t.txt

确保p.txt包含一些文字。