在远程Linux/UNIX服务器中安装/追加SSH密钥Authorized_keys
时间:2020-01-09 10:41:01 来源:igfitidea点击:
如何在不使用scp和/或复制和粘贴方法的情况下,从Linux工作站或Apple OS X便携式计算机自动将SSH公钥~/.ssh/id_rsa.pub安装到远程Linux和UNIX服务器上?
您需要使用ssh-copy-id脚本,该脚本使用ssh通过登录密码登录到远程计算机。
语法如下:
ssh-copy-id [email protected]
或
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
或者
ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]
或使用远程主机上的特定端口,例如tcp端口4242:
ssh-copy-id -i /path/key/file.pub "[email protected] -p 4242"
在OS X Unix系统上安装ssh-copy-id
执行以下命令:
brew install ssh-copy-id
步骤1:创建密钥
输入以下ssh-keygen命令以生成,管理和转换工作站/笔记本电脑的身份验证密钥:
ssh-keygen
确保使用密码保护密钥。
步骤2:安装公钥
在名为www-03.theitroad.com的远程服务器上安装密钥,执行:
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
注意:如果在系统上找不到ssh-copy-id命令,请尝试以下命令在远程主机上追加/安装公钥:
ssh [email protected]" umask 077; mkdir .ssh " cat $HOME/.ssh/id_rsa.pub | ssh [email protected] "cat >> .ssh/authorized_keys"
步骤3:使用钥匙串减少密码登录
OpenSSH无需提供密码即可向远程系统提供RSA和DSA身份验证。
keychain是一种特殊的bash脚本,旨在使基于密钥的身份验证变得异常便捷和灵活(请参阅如何在unix上安装keychain脚本)。
将以下行添加到~/.bash_profile或shell登录文件中:
/usr/bin/keychain $HOME/.ssh/id_rsa source $HOME/.keychain/$HOSTNAME-sh
保存并关闭文件。