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.
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.
Câu trả lời:
Đầu tiên sao chép tập tin /etc/xdg/autostart/gnome-keyring-ssh.desktop
và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
.
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-agent
tù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-add
lệ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 Passwords
tab của Passwords and Keys
chươ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/lightdm
liê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.
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
: /)
Để 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
Hidden=true
và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.
Với phiên bản hiện tại của Ubuntu, việc thay đổi .desktop
tệ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.conf
và 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,secrets
vào dòng lệnh. Các initctl
dòng cũng có thể được gỡ bỏ, dẫn đến:
eval "$(gnome-keyring-daemon --start --components=pkcs11,secrets)" >/dev/null