HOLD YOU AROUND ME

Eat 🍔 / Drink 🍺 / Sleep 💤

login to mac SSH: Permission denied (publickey)

1Permission denied (publickey) Permission denied (publickey) is displayed for remote mac login. If the public key is correct, check the ~/.ssh directory and key files permissions. 1 2# change this to YOUR username on the server. 3YOURUSER=ma 4 5# paste these lines verbatim:~ 6sudo chown $YOURUSER:$YOURUSER ~/$YOURUSER/{.,.ssh/,.ssh/authorized_keys} 7sudo chmod u+rwX,go-rwX,-t ~/$YOURUSER/{.ssh/,.ssh/authorized_keys} 8sudo chmod go-w ~/$YOURUSER/

November 11, 2024

Change macOS SSH Port

Change mac sshd port Open Terminal.app, type sudo vi /etc/services, type mac password, then press enter, enter edit mode Find ssh service line, like below: 1ssh 22/udp # SSH Remote Login Protocol 2ssh 22/tcp # SSH Remote Login Protocol Modify 22 to the port number you want to change, for example 10022, and save :wq to exit. 1sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist 2sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist Now you can login your mac with 10022 port. Notice When you change the default ssh port, you need to add -p parameter to connect the default 22 port. For example: ssh root@localhost will connect to the port 10022 which you DIY. ...

November 1, 2024

Alpine CGO issue

Build a golang image with cgo support on alpine, we need to install some packages. Package Description tzdata Timezone ca-certificates CA library libc6-compat glibc compatibility libgcc CGO dependency libstdc++ C++ runtime library Below is an example Dockerfile: 1#build stage 2FROM golang:1.23-alpine AS builder 3ARG BUILD_VERSION 4ARG BUILD_TIME 5WORKDIR /app 6COPY . . 7RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories 8RUN apk add -U tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 9RUN go build -ldflags "-s -w -X ceic/global.AppVersion=${BUILD_VERSION} -X ceic/global.AppBuild=${BUILD_TIME}" -mod=vendor -v -o ceic . 10 11#final stage 12FROM alpine:latest 13ARG BUILD_VERSION 14WORKDIR /app 15RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories 16RUN apk --no-cache add libc6-compat libgcc libstdc++ 17COPY --from=builder /etc/localtime /etc/localtime 18COPY --from=builder /app/ceic /app/ceic 19ENTRYPOINT ["/app/ceic", "serve"] 20LABEL Name=ceic Version=${BUILD_VERSION} 21EXPOSE 3000

September 28, 2024

About the earlier mention of chrome writing a lot of SSD

At present, it seems that the Adblock Plus plug-in causes Chrome to continuously write to the SSD. After deleting this plug-in, the writing volume has returned to normal.

June 5, 2024

Bye Chrome

Issue I have been using Chrome for more than ten years, but recently, some disgusting operations forced me to give up using it. I don’t usually turn off my computer, and I keep it on 24*365 all year round. Since November last year, the amount of hard disk writes on my Mac has inexplicably increased. By now, the amount of writes has reached 20T. I didn’t notice the reason before, thinking that there was a problem with a process in the system, which continued to write to the hard disk. ...

May 30, 2024

Hackintosh Sonoma 14.4 install loop issue

When upgrading to 14.4 (or 14.4.1), the installation process will loop restart, causing the installation to fail. Solution: Disable WiFi and Bluetooth drivers, and re-enable them after the upgrade is complete. Modify the config.plist of OC, change Misc Security SecureBootModel to Disabled Reinstall.

April 3, 2024

Change Blog to Hugo and Vercel

Now pages on this blog are built with Hugo and deployed to Vercel.

April 2, 2024

Query all unregistered domains

A script to query all unregistered domains. Blow is a demo to query all 3 letter .me domain. You can modify it to your needs. 1#!/bin/bash 2DOMAIN=me # domain suffix 3LENGTH=3 # length of domain 4TIMEOUT="gtimeout 5" # timeout command, can be gtimeout or timeout or empty 5MATCH_STRING="Domain not found" # unregisterd string 6CHARS=(a b c d e f g h i j k l m n o p q r s t u v w x y z) 7# CHARS=(a b c d e f g h i j k l m n o p q r s t u v w x y z 0 1 2 3 4 5 6 7 8 9) 8# CHARS=(0 1 2 3 4 5 6 7 8 9) 9 10function find() { 11 if [[ $($TIMEOUT whois $1 | grep -i "$MATCH_STRING") ]]; then 12 echo $1 "available" 13 echo $1 >>$DOMAIN.txt 14 fi 15} 16 17function query() { 18 local len=$1 19 local prefix=$2 20 21 if [[ $len -gt 0 ]]; then 22 for i in ${CHARS[@]}; do 23 echo $prefix$i.$DOMAIN 24 query $(($len - 1)) $prefix$i 25 done 26 else 27 find $prefix.$DOMAIN 28 fi 29} 30 31query $LENGTH Gist link ...

March 28, 2024