Linux

如何通過名稱引用載入的 SSH 密鑰?

  • March 31, 2013

我正在使用廚師刀 ec2 工具,它需要載入的 SSH 密鑰的名稱(在 Amazon EC2 控制面板中創建)

它使用名稱來引用密鑰對對我來說似乎很奇怪 - 因為該名稱是在 ec2 控制面板中創建的:

圖片.png http://img843.imageshack.us/img843/4236/pictureiy.png

當我下載文件時,我只是得到mykey.pem文件。這是否以某種方式包含編碼的密鑰對名稱?此密鑰對的名稱在命令行中似乎不可見:

$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQE69PeuHFtO[truncated]== /Users/me/mykey.pem

$ ssh-add -l
2048 b4:45:70:23:b1:f3:3b:01:11:23:45:67:89:0a:bc:de /Users/me/mykey.pem (RSA)

問題

  1. 我在某處缺少密鑰對“名稱”嗎?我如何查看這些?
  2. 第三方軟體(如刀工具)如何根據不可見的密鑰對的“名稱”知道使用哪個密鑰對?

我希望這些問題是有道理的——我很樂意詳細說明任何灰色地帶。

(長話短說,它使用FOG。)

如果我正確理解了您的問題,我想它來自 EC2,如下所示:

lib/chef/knife/ec2_server_create.rb了解本節 ( def run)中的 SSH 密鑰名稱:

server = connection.servers.create(create_server_def)
# ...
msg_pair("SSH Key", server.key_name)

connection.servers.create可以在我們找到的lib/chef/knife/ec2_base.rb地方找到

def connection
 @connection ||= begin
   connection = Fog::Compute.new(
     :provider => 'AWS',
     :aws_access_key_id => Chef::Config[:knife][:aws_access_key_id],
     :aws_secret_access_key => Chef::Config[:knife][:aws_secret_access_key],
     :region => locate_config_value(:region)
   )
 end
end

即它使用與 AWS 對話的FOG,因此知道如何處理密鑰名稱……我想(?)

引用自:https://unix.stackexchange.com/questions/33579