Làm cách nào để vô hiệu hóa khóa cho SSH và GPG?


19

Làm cách nào để vô hiệu hóa khóa cho SSH và GPG?

Tôi muốn giữ keyring cho wifi và những thứ khác. Tôi đang sử dụng Ubuntu 12.04.


1
Bạn có thể đơn giản từ chối lưu những mật khẩu đó vào khóa không? Đối với ssh tiêu chuẩn, nó sẽ không lưu mật khẩu trừ khi bạn thiết lập mật khẩu theo cách đó, theo kinh nghiệm của tôi.
Marty Fried

Tôi không biết. Có cách nào để thiết lập lại keyring. Để kiểm tra nó? Tiêu đề trong chủ đề có Ubuntu 12.04 LTS trong đó, nhưng @ jorge-castro đã thay đổi nó.
brodul

Trong một thời gian, keyring đã không thay đổi nhiều, nhưng tôi đã thêm nó vào câu hỏi cho rõ ràng, không cần phải làm lộn xộn tiêu đề mặc dù câu trả lời có thể sẽ áp dụng cho nhiều phiên bản.
Jorge Castro

Xin lỗi vì câu hỏi của Noob, nhưng động lực của bạn để vô hiệu hóa khóa cho SSH là gì?
Stephane

1
@Stephane Tôi không thể nói cho OP nhưng tôi không muốn một thông tin quá quan trọng bị phơi bày dưới bất kỳ hình thức nào. Tôi thà nhập mật khẩu khóa ssh của mình mỗi lần tôi kết nối với một số máy chủ, hơn là khóa lưu trữ nó, cho phép mọi chương trình và mọi người trong không gian người dùng của tôi truy cập ssh tùy ý. Điều này không có ý nghĩa với những người khác, tất nhiên, nhưng imo động lực ở đây là điều dễ hiểu
phil294

Câu trả lời:


12

Đầu tiên sao chép tập tin /etc/xdg/autostart/gnome-keyring-ssh.desktopvào ~/.config/autostart/.

Sau đó chỉnh sửa ~/.config/autostart/gnome-keyring-ssh.desktopđể xóa dòng sau:

NoDisplay=true

và để thêm dòng sau vào cuối:

X-GNOME-Autostart-enabled=false

Điều này sẽ vô hiệu hóa quản lý SSH khi bạn khởi động lại phiên của mình. Để vô hiệu hóa GPG, làm tương tự với tệp /etc/xdg/autostart/gnome-keyring-gpg.desktop.


Tnx, điều này cuối cùng đã giải quyết vấn đề.
brodul

7

Trong phiên cuối (sử dụng Ctrl- Alt- T), bạn có thể ngăn quá trình khóa gnome hoạt động với ssh bằng cách sử dụng:

unset SSH_AUTH_SOCK 

Các --no-use-agenttùy chọn có sẵn để GPG để tránh sử dụng quá trình gnome-keyring với gpg, tuy nhiên đó là mặc định.

Bạn có thể ngăn công cụ cá ngựa nautilus sử dụng tác nhân gpg bằng cách sử dụng:

rm `echo $GPG_AGENT_INFO | sed s/:0:1//`

Bạn có thể dừng hoàn toàn quá trình khóa gnome bằng lệnh:

kill $GNOME_KEYRING_PID

Mỗi hành động trên được khôi phục bằng cách đăng nhập lại.


Mật khẩu wifi có sẵn cho tất cả người dùng được lưu trữ trong /etc/NetworkManager/system-connections/thư mục thay vì được lưu trữ trong khóa gnome của bạn, vì vậy chúng có thể vẫn khả dụng nếu bạn giết quá trình khóa gnome.

Các ssh-addlệnh có thể được sử dụng để xóa (hoặc thêm) phím cụ thể từ / đến gnome-keyring trong khi quá trình keyring đang chạy hiện hành.

Mật khẩu khóa cá nhân có thể bị xóa khỏi đăng nhập hoặc khóa khác bằng cách sử dụng Passwordstab của Passwords and Keyschương trình (cá ngựa).

Nếu khóa gnome không xuất hiện, ssh-agent vẫn sẽ chạy, nhưng nó không lưu các khóa gpg.


Có hai dòng /etc/pam.d/lightdmliên quan đến việc lưu mật khẩu đăng nhập và bắt đầu gnome-keyring-daemon với khóa đăng nhập được mở khóa bằng mật khẩu đăng nhập. Cái thứ hai bắt đầu daemon:

session optional        pam_gnome_keyring.so auto_start

Chỉ nhận xét dòng này sẽ ngăn nó bắt đầu cho tất cả các phiên của tất cả người dùng hệ thống của bạn bằng mật khẩu đăng nhập để mở khóa khóa đăng nhập.

/etc/xdg/autostart/chứa các mục bắt đầu cho các loại bí mật khác nhau mà gnome-keyring có thể xử lý. Để ngăn daemon bắt đầu các thành phần này, các tệp này có thể được chuyển ra khỏi thư mục này. Bạn có thể di chuyển tất cả các tệp gnome-keyring- * để ngăn daemon bắt đầu hoặc chỉ có thể từ chối cung cấp lại mật khẩu đăng nhập để vô hiệu hóa khóa đăng nhập trong khi để daemon chạy.


bỏ đặt SSH_AUTH_SOCK hoạt động. Tnx. Có cách nào để bỏ đặt nó cho tất cả các phiên? Tôi sử dụng Enigmail cho Thunderbird và có một vấn đề với enigmail (nó không quên mật khẩu).
brodul

Có cách nào để vô hiệu hóa keyring khi khởi động. (Tôi thực sự không muốn viết một kịch bản giết chết keyring).
brodul

Tôi đã chỉnh sửa câu trả lời với một số thông tin có thể hữu ích, tuy nhiên, tốt hơn là nên hỏi trực tiếp về việc vượt qua Enigmail trong một câu hỏi riêng biệt, rõ ràng về những gì bạn muốn.
John S Gruber

Bạn có thể xóa khóa (quên mật khẩu, cả gpg và ssh và những người khác) bằng cách thực hiện gnome-keyring-daemon -r -d. Đây là cách đơn giản để khởi động lại daemon. Một vấn đề có thể là nếu nó không được chạy ở nơi đầu tiên, nó sẽ khởi động (tôi không biết một cách tốt để chỉ khởi động lại nó nếu nó đang chạy, trừ phân tích cú pháp ps: /)
unhammer

2

Để ngăn chặn khóa gnome bắt đầu tác nhân SSH ( bị hỏng ) trên Ubuntu 16.04:

mkdir ~/.config/upstart || true
echo manual > ~/.config/upstart/gnome-keyring-ssh.override

# This step can be done with the gnome-session-properties tool
mkdir ~/.config/autostart || true
cp /etc/xdg/autostart/gnome-keyring-ssh.desktop ~/.config/autostart
echo 'X-GNOME-Autostart-enabled=false' >> ~/.config/autostart/gnome-keyring-ssh.desktop

Tôi thấy rằng dòng cuối cùng của bạn đang sử dụng thực tế là /usr/share/upstart/simes/gnome-keyring-ssh.conf tìm kiếm dòng đó và thoát ngay lập tức trước khi xuất SSH_AUTH_SOCK, tôi nghĩ rằng bạn không cần ~ / .config / upstart tệp / thư mục nếu bạn cũng nối Hidden=truevào tệp .desktop. Điều này về cơ bản che dấu lối tắt "thực" (hệ thống) từ tất cả các máy tính để bàn, ngay cả những phím tắt mà nó thường có thể áp dụng như Gnome / Unity. Tôi sẽ thử nghiệm điều này ngay khi tôi đang tìm kiếm một cách sạch sẽ để vô hiệu hóa gnome-keyring-ssh mà không ảnh hưởng đến các chức năng khác.
dragon788

1

Với phiên bản hiện tại của Ubuntu, việc thay đổi .desktoptệp được đề cập trong các câu trả lời khác là không đủ nữa. Một công việc mới bắt đầu đã được thêm vào cũng bắt đầu gnome-keyring-daemon. Các tập tin được đặt trong /usr/share/upstart/sessions/gnome-keyring.confvà chứa:

eval "$(gnome-keyring-daemon --start)" >/dev/null
initctl set-env --global SSH_AUTH_SOCK=$SSH_AUTH_SOCK
initctl set-env --global GPG_AGENT_INFO=$GPG_AGENT_INFO

Ở đây, daemon cần được hạn chế chỉ cung cấp một số dịch vụ bằng cách thêm --components=pkcs11,secretsvào dòng lệnh. Các initctldòng cũng có thể được gỡ bỏ, dẫn đến:

eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null

1
Làm cách nào tôi có thể ghi đè tệp này cho mỗi người dùng mà không sửa đổi tệp hệ thống?
heo

Thay đổi một tập tin hệ thống là một thực tế xấu. Xem câu trả lời của riêng tôi.
heo
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.