Cài đặt hexedit:
apt-get update && apt-get install hexedit
Sao lưu nhị phân sshd của bạn và tạo một bản sao làm việc có thể chỉnh sửa (với quyền root):
cp -p /usr/sbin/sshd /tmp/sshd.backup
cp -p /tmp/sshd.backup /tmp/sshd.new
Cập nhật nhị phân với hexedit:
hexedit /tmp/sshd.new
Nhấn TAB để chuyển từ HEX sang khu vực ASCII.
Sử dụng CTRL + S để hiển thị lời nhắc tìm kiếm và tìm kiếm văn bản trong biểu ngữ của bạn hơn là bạn muốn ẩn, ví dụ: 'OpenSSH_7.4'.
Bạn sẽ thấy một cái gì đó như:
0007DA54 61 67 65 6E 74 00 00 00 4F 70 65 6E agent...Open
0007DA60 53 53 48 5F 37 2E 34 70 31 20 52 61 SSH_7.4p1 Ra
0007DA6C 73 70 62 69 61 6E 2D 31 30 2B 64 65 spbian-10+de
0007DA78 62 39 75 32 00 00 00 00 4F 70 65 6E b9u2....Open
Sử dụng các phím mũi tên để tô sáng phần bắt đầu của chuỗi mà bạn muốn cập nhật và nhập thay thế.
Hãy cẩn thận để ở trong giới hạn về độ dài của biểu ngữ gốc. Bạn cũng có thể nhấn TAB để chuyển về khu vực HEX nếu bạn muốn loại bỏ chuỗi cài đặt từng từ thành '00'.
Thay đổi của bạn sẽ trông giống như:
0007DA54 61 67 65 6E 74 00 00 00 48 65 72 65 agent...Here
0007DA60 20 62 65 20 64 72 61 67 6F 6E 73 2E be dragons.
0007DA6C 20 54 75 72 6E 20 42 61 63 6B 00 00 Turn Back..
0007DA78 00 00 00 00 00 00 00 00 4F 70 65 6E ........Open
Lưu các thay đổi của bạn với CTRL + x và Y.
Kiểm tra nếu có bất kỳ trường hợp nào mà chúng tôi bỏ lỡ (chúng tôi dự kiến không có đầu ra ngay bây giờ):
strings /tmp/sshd.new | grep Rasp
Cập nhật sshd và khởi động lại dịch vụ để có biện pháp tốt:
rm /usr/sbin/sshd
cp -p /tmp/sshd.new /usr/sbin/sshd
systemctl restart ssh.service
Kiểm tra xem bạn vẫn có thể SSH vào (nếu không khôi phục bản sao lưu hoặc cài đặt lại OpenSSH từ trình quản lý gói của bạn!):
ssh -vv user@ip
CHÚ THÍCH!!
Thay đổi này sẽ chỉ là tạm thời vì bất cứ khi nào bạn cập nhật OpenSSH, tệp nhị phân sẽ được thay thế.
LogLevel ERROR
chỉ loại bỏ biểu ngữ trong các phiên bản mới hơn của OpenSSH. Trong các phiên bản cũ hơn,LogLevel QUIET
hoặcssh -q
được yêu cầu.