制作别名以将密钥添加到远程authorized_keys文件


1

通常,在创建新的Web服务器时,为了通过SSH登录而不必输入密码,我将主机添加到~/.ssh/config文件中,如下所示:

Host foobar
    HostName 111.111.111.111
    User myusername

然后,我将运行此命令将SSH密钥复制到服务器。

cat ~/.ssh/id_rsa.pub | ssh foobar "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

有没有一种方法可以让我在.bash_profile / .bashrc中创建别名,以允许我键入类似内容,copy_key foobar并将其密钥复制到服务器?我尝试使用该长命令在.bashrc文件中创建函数,但它只是尝试登录到服务器。

Answers:


1

“别名”是bash脚本,称为ssh-copy-id。检查手册页manssh-copy-id

ssh-copy-id是一个脚本,该脚本使用ssh登录到远程计算机(大概使用登录密码,因此应该启用密码身份验证,除非您对多个身份进行了一些巧妙的使用),它还会更改远程用户的家中,~/.ssh~/.ssh/authorized_keys删除组可写性(否则会阻止你登录,如果远程sshd已经StrictModes在其配置中设置)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.