我在我的mac上生成一个ssh密钥对,并将公钥添加到我的ubuntu服务器(实际上,它是我的mac上的虚拟机),但是当我尝试登录ubuntu服务器时,它说:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
Permission denied (publickey,password).
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多方法来解决这个问题,更改密钥文件模式,更改文件夹模式,作为stackoverflow上的一些答案,但它不起作用.
密钥文件权限:
vm dir:
drwxr-xr-x 4 tudouya staff 136 4 29 10:37 vm
key file:
-rw------- 1 tudouya staff 1679 4 29 10:30 vm_id_rsa
-rw-r--r-- 1 tudouya staff 391 4 29 10:30 vm_id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
请给我一些想法...... =========================================
我将主机信息写入ssh_config: …
我知道在javascript对象中双重作为哈希,但我一直无法找到内置函数来获取密钥
var h = {a:'b',c:'d'};
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西
var k = h.keys() ; // k = ['a','c'];
Run Code Online (Sandbox Code Playgroud)
自己编写一个函数来迭代项目并将键添加到我返回的数组中是很简单的,但有没有一种标准的清洁方法呢?
我一直觉得它必须是一个简单的内置功能,我错过了,但我找不到它!
我想打印一个特定的Python字典键:
mydic = {}
mydic['key_name'] = 'value_name'
Run Code Online (Sandbox Code Playgroud)
现在我可以查看是否mydic.has_key('key_name'),但我想要做的是打印密钥的名称'key_name'.当然我可以使用mydic.items(),但我不希望列出所有键,只是一个特定的键.例如,我期待这样的事情(在伪代码中):
print "the key name is", mydic['key_name'].name_the_key(), "and its value is", mydic['key_name']
Run Code Online (Sandbox Code Playgroud)
有没有name_the_key()方法可以打印密钥名称?
编辑:
好的,非常感谢你们的反应!:)我意识到我的问题没有很好的表达和琐碎.我只是感到困惑,因为我意识到key_name和mydic['key_name']两个不同的东西,我认为打印key_name出字典上下文是不正确的.但实际上我可以简单地使用'key_name'来指代密钥!:)
对于这个基本问题我很抱歉,但我对此的搜索除了如何根据其价值得到字典的密钥之外没有任何其他内容,我不想使用它,因为我只是想要密钥的文本/名称而我担心搜索如果字典有很多条目,则按值可能最终返回2个或更多键...我想要做的是:
mydictionary={'keyname':'somevalue'}
for current in mydictionary:
result = mydictionary.(some_function_to_get_key_name)[current]
print result
"keyname"
Run Code Online (Sandbox Code Playgroud)
这样做的原因是我将这些打印到文档中,我想在执行此操作时使用键名和值
我已经看到了下面的方法,但这似乎只是返回键的值
get(key[, default])
Run Code Online (Sandbox Code Playgroud) 我知道如何使用INDEX,如下面的代码.我知道如何使用外键和主键.
CREATE TABLE tasks (
task_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INT UNSIGNED NOT NULL DEFAULT 0,
task VARCHAR(100) NOT NULL,
date_added TIMESTAMP NOT NULL,
date_completed TIMESTAMP,
PRIMARY KEY (task_id),
INDEX parent (parent_id),
....
Run Code Online (Sandbox Code Playgroud)
但是我发现使用KEY而不是INDEX的代码如下.
...
KEY order_date (order_date)
...
Run Code Online (Sandbox Code Playgroud)
我无法在MySQL官方页面中找到任何文档.
谁能告诉我KEY和INDEX之间有什么区别?我可以看到的不同之处在于,当我使用KEY ...时,我需要重复这个词,例如KEY order_date(order_date).
我们再来一次,旧的论点仍然出现......
我们是否更好地将业务密钥作为主键,或者我们是否更愿意在业务键字段上具有唯一约束的代理ID(即SQL Server标识)?
请提供支持您的理论的示例或证明.
是否有内置/快速方法使用字典键列表来获取相应项的列表?
比如我有:
>>> mydict = {'one': 1, 'two': 2, 'three': 3}
>>> mykeys = ['three', 'one']
Run Code Online (Sandbox Code Playgroud)
如何使用mykeys字典中的相应值作为列表?
>>> mydict.WHAT_GOES_HERE(mykeys)
[3, 1]
Run Code Online (Sandbox Code Playgroud) 有一种简单的方法可以验证给定的私钥是否与给定的公钥匹配?我有一些*.pub和一些*.key文件,我需要检查哪个与哪个.
同样,这些是发布/密钥文件,DSA.
我真的更喜欢某种单线......
如何使用SQL Server Management Studio创建复合键?
我想要两个INT列来形成表的标识(唯一)
如何通过键功能获取字典值
我的功能代码是这个(和我尝试但不起作用的命令):
static void XML_Array(Dictionary<string, string> Data_Array)
{
String xmlfile = Data_Array.TryGetValue("XML_File", out value);
}
Run Code Online (Sandbox Code Playgroud)
我的按钮代码就是这个
private void button2_Click(object sender, EventArgs e)
{
Dictionary<string, string> Data_Array = new Dictionary<string, string>();
Data_Array.Add("XML_File", "Settings.xml");
XML_Array(Data_Array);
}
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
在XML_Array函数上是
字符串xmlfile = Settings.xml
key ×10
dictionary ×4
python ×3
c# ×1
database ×1
encryption ×1
indexing ×1
javascript ×1
list ×1
mysql ×1
object ×1
openssl ×1
permissions ×1
primary-key ×1
sql ×1
sql-server ×1
ssh ×1
ssl ×1
ssms ×1
t-sql ×1