回答:
上記のようにした後、私はいつもこれを手に入れました:
total 22
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 ..
-rw-rw---- 1 jl None 129 Jul 1 14:30 config
およびのエラー.ssh/config
。だから私はフォルダで実行しchown
ました.ssh
、そしてchmod
再びこのように:
> chown -R [USERNAME]:users .ssh/
その後:
> chmod -R 600 .ssh/
そして最後に私はそれを機能させました:
total 29
drwxrwxr-x+ 1 jl None 0 Sep 9 18:44 .
drwxrwxrwt+ 1 jl None 0 Sep 9 18:44 ..
drw-------+ 1 jl Users 0 Sep 9 18:44 .ssh
編集(Windows10のbashの場合)
エラーが発生した場合..
ホストを既知のホストのリスト(/PATH_TO_HOME/USERNAME/.ssh/known_hosts)に追加できませんでした。
known_hostsが書き込み可能であることを確認してください
$ chmod 755既知のホスト
注:秘密鍵に600だけを設定する必要があると思います
次に、sshを試してください。
あなたが取得するとき..
既知のホストのリストに「HOST_IP」(RSA)を永続的に追加しました。
モード600を置き換えることができます
$ chmod 600 known_hosts
PS:これはWindows 8のバグだと思います。
chown -R [Username]:Benutzer .ssh/
この回答はhttps://superuser.com/a/875934/82032からそのままコピーされます。これは、最近のcygwinのアップグレード後に機能した唯一の答えです。
ACLを忘れないでください
ACLのファイルを削除してアクセス許可をリセットするまで、何も機能しませんでした。
#remove ACLs
setfacl -b ~/.ssh/config
#reset permissions
chmod 0600 ~/.ssh/config
getfacl
ファイルの現在のACLを表示するために使用できます。
getfacl ~/.ssh/config
ACLを削除する前(破損):
# owner: Administrators
# group: None
user::rw-
group::---
group:Authenticated Users:rwx
group:SYSTEM:rwx
mask:rwx
other:---
後:(作業中)
# file: config
# owner: myusername
# group: None
user::rw-
group::---
other:---
config
Cygwinのls
コマンドを使用して、ファイルのアクセス許可を確認します。
> c:\cygwin\bin\ls.exe -la c:\cygwin\home\[USERNAME]\.ssh
おそらく次のようなものになるでしょう:
total 5
drwxrwxrwt+ 1 Administrators None 0 Oct 20 17:02 .
drwxr-xr-x+ 1 [USERNAME] None 0 Oct 19 08:15 ..
-rw------- 1 Administrators None 57 Oct 20 16:58 config
構成ファイルは[USERNAME]に属している必要があります。これを試して:
> c:\cygwin\bin\chown.exe [USERNAME] c:\cygwin\home\[USERNAME]\.ssh\config
ls -la
正しい所有者が表示されるはずです。それでもうまくいかない場合は、モードをリセットしてみてください(許可):
> c:\cygwin\bin\chmod.exe 700 c:\cygwin\home\[USERNAME]\.ssh\config
非常に単純に:
chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/
ファイルがWindows(NTFS)シンボリックリンクの場合、上記は機能しません。通常のファイルにする必要があります。理由はわかりません。
opensshまたはcygwinがない場合は、chocolateyを使用して簡単にインストールしてください。
choco install cyg-get
chocolateyでインストールされたCygwinターミナルを開き、実行します(ssh-keygen
新しいキーを作成することに注意してください):
cyg-get install openssh
ssh-keygen
cd ~/.ssh && explorer.exe .
キーが存在することを確認し(または必要なキーに置き換えて)、Cygwinシェルで:
chown -R $USER:users ~/.ssh/
chmod -R 600 ~/.ssh/
または、chocolateyのSSHパッケージを使用している(およびキーを生成している)まれなケースの場合:
chown -R $USER:users /cygdrive/c/Users/$USER/.ssh
chmod -R 600 /cygdrive/c/Users/$USER/.ssh
dir を使用noacl
したパスで使用する場合の~/.ssh
簡単な解決策は、ネイティブNTFSシンボリックリンクを作成することです。
cmd# mklink c:\home\.ssh c:\opt\cygwin\home\misc\.ssh
symbolic link created for c:\home\.ssh <<===>> c:\opt\cygwin\home\misc\.ssh
ではnoacl
、他の権限を設定する方法はありませんrwxr-xr-x
かrw-r--r--
。/
階層はなしでなければなりませんnoacl
(またはにする必要がありますacl
)あなたはそれにCygwinのアプリケーションのための問題の場所をここにディレクトリとポイントを作成することができます。
mklink /j
かjunction
、Sysinternals Suiteのツールになります。
tldr:管理者として構成を作成した可能性があります
これらのソリューションは、誤ってファイルを管理者として作成し、ローカルのパーマでファイルを使用しようとした場合に過剰になる可能性があります。
~/.ssh
はPowerShellまたは%userprofile%\.ssh
cmdで)notepad .\config
$sshPath = '~/.ssh/config'
$content = cat $sshPath
# In case the line above fails, this check will prevent your current config to get deleted
if ($content) {
rm $sshPath
$content | Out-File -en ascii $sshPath
}