Linux
如何通過名稱引用載入的 SSH 密鑰?
我正在使用廚師刀 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)
問題
- 我在某處缺少密鑰對“名稱”嗎?我如何查看這些?
- 第三方軟體(如刀工具)如何根據不可見的密鑰對的“名稱”知道使用哪個密鑰對?
我希望這些問題是有道理的——我很樂意詳細說明任何灰色地帶。
(長話短說,它使用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,因此知道如何處理密鑰名稱……我想(?)