我正在按照以下步骤设置我的服务器上的公钥/私钥集:
通过在您的Linode上逐个input以下命令来修改公钥的权限。 用你的用户名replaceexample_user。
chown -R example_user:example_user .ssh chmod 700 .ssh chmod 600 .ssh/authorized_keys
但是当我做第一行
chown -R david:david .ssh
我收到错误消息:
changing ownership of '.ssh/authorized_keys': Operation not permitted
我遵循了指南的步骤,除了我使用Windows的事实,所以我不得不使用Windows SCR上载公钥而不是UNIX命令行。
这里是文件信息位:
File: `.ssh/authorized_keys' Size: 294 Blocks: 8 IO Block: 4096 regular file Device: EDITED OUT Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2013-03-17 16:32:06.000000000 +0000 Modify: 2013-03-17 16:32:06.000000000 +0000 Change: 2013-03-17 19:06:14.000000000 +0000
看起来您没有权限更改该文件的所有权。 我的猜测是,无论您从哪个文件系统传输文件都具有不同的权限,没有正确传输,并最终拥有文件的根。 用sudo再次尝试相同的chown命令(例如, sudo chown -R david:david /path/to/.ssh )。 每当使用sudo ,最好使用绝对path(例如/home/david/.ssh )而不是相对path( ./.ssh )。
su -c "chown david:david ~david/.ssh/authorized_keys"
在这一点上,你会被问到root的密码,希望你知道这台机器的root密码。 否则,你有陡峭的山坡在你前面攀登,缺乏sudo。