ssh trả về chủ sở hữu xấu hoặc quyền trên ~ / .ssh / config


366

Khi tôi cố ssh sang hộp khác, tôi gặp lỗi lạ này

$ ssh hostname
Bad owner or permissions on ~/.ssh/config

Nhưng tôi chắc chắn rằng tôi sở hữu và có quyền rw trên tệp:

ls -la ~/.ssh/
total 40K
drwx------ 2 robert robert 4.0K Mar 29 11:04 ./
drwx------ 7 robert robert 4.0K Mar 29 11:04 ../
-rw-r--r-- 1 robert robert 2.0K Mar 17 20:47 authorized_keys
-rw-rw-r-- 1 robert robert   31 Mar 29 11:04 config
-rw------- 1 robert robert 1.7K Aug  4  2010 id_rsa
-rw-r--r-- 1 robert robert  406 Aug  4  2010 id_rsa.pub
-rw-r--r-- 1 robert robert 6.1K Mar 29 11:03 known_hosts

Tôi chỉ có cùng một tin nhắn. Trường hợp của tôi thì khác. Tôi đã có một IdentityFile ~/.ssh/id_rsabộ toàn cầu , vì vậy khi tôi cố gắng truy cập user@myserver.com, nó đã cố gắng sử dụng id_rsa mà không hỏi tôi mật khẩu. Tránh nhận dạng toàn cầu và tất cả sẽ diễn ra tốt đẹp.
giovannipds

Câu trả lời:


569

Tôi cần phải có rw cho người dùng chỉ có quyền trên cấu hình. Điều này đã sửa nó.

chmod 600 ~/.ssh/config

Như những người khác đã lưu ý dưới đây, nó có thể là chủ sở hữu tập tin. (nâng cao họ!)

chown $USER ~/.ssh/config

22
Đôi khi, không chỉ các quyền mà cả chủ sở hữu có thể gây ra sự cố; trong trường hợp của tôi, tôi cũng phải làm điều này:chown -R robert:robert ~/.ssh
Nicolas C

3
Trong trường hợp của tôi, đi từ 644 đến 600 đã lừa.
Magicsowon

2
Chỉ cần đọc sự cho phép là đủ, tức là400
030

1
Đối với tôi, 600không hoạt động, chỉ 400(trên Ubuntu Xenial)
Martín Coll

@ 030 Miễn là bạn không có ý định chỉnh sửa tệp ..
Sean the Bean

64

Các lệnh này sẽ khắc phục vấn đề cấp phép:

chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config

Tiền tố với sudonếu các tệp được sở hữu bởi người dùng khác nhau (hoặc bạn không có quyền truy cập vào chúng).

Nếu nhiều tập tin bị ảnh hưởng, thay thế configbằng *.

Trong man sshchúng ta có thể đọc:

Do khả năng lạm dụng, tệp này phải có quyền nghiêm ngặt: đọc / ghi cho người dùng và không thể ghi bởi người khác. Nó có thể được ghi theo nhóm với điều kiện là nhóm được đề cập chỉ chứa người dùng.


3
Điều này đã lừa tôi. Tôi đang sử dụng cygwin và cygwin .ssh được liên kết với người dùng windows .ssh. Tôi đã phải chạy các lệnh đó trong cửa sổ cygwin.
Damodar Bashyal

Điều này làm việc cho tôi.
Viraj.Hadoop

12

Đối với tôi, đó là sự cố với tài khoản người dùng của tôi không phải là chủ sở hữu của tệp

sudo chown myuser ~/.ssh/config

2

Theo mặc định trên chmod WSL (Hệ thống con Windows cho Linux) không có hiệu lực. Trước khi bạn có thể chmodcác tệp được đề cập trong các câu trả lời khác, bạn phải thêm

[automount]
options = "metadata"

để /etc/wsl.confsau đó khởi động lại WSL (yêu cầu xây dựng 17093 trở lên).

Trước khi mount nói:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)

Sau khi mount nói:

C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.