Skip to content

Instantly share code, notes, and snippets.

Avatar

Alex Bosworth alexbosworth

View GitHub Profile
@alexbosworth
alexbosworth / yubikey4-ssh-macos.md
Created Dec 12, 2020 — forked from ixdy/yubikey4-ssh-macos.md
Setting up ssh public key authentication on macOS using a YubiKey 4
View yubikey4-ssh-macos.md

Setting up ssh public key authentication on macOS using a YubiKey 4

I largely followed Florin's blog post, but have a few notes to add regarding issues I encountered:

Basic setup notes

  1. I used a YubiKey 4, while the blog describes using a YubiKey NEO. I'm sure a YubiKey 5 would also work. I'm also running macOS 10.13.6.
  2. I installed GPGTools as recommended. However, as I'll note later, it seems that gpg-agent only automatically starts when gpg is used; for ssh, you'll need to ensure it's running.
  3. Before generating your keys, decide what key size you want to use. If you run the list command inside gpg --edit-card, look for the Key attributes line to see what is currently selected. On my YubiKey 4, it defaulted to 2048 bits for all keys:
Key attributes ...: rsa2048 rsa2048 rsa2048
View lnd_systemd.md

systemd

Edit:

/etc/systemd/system/lnd.service
[Service]
View build-tor.md

Build and Install Tor

# Install build tools
sudo apt-get install git build-essential automake libevent-dev libssl-dev pkg-config zlib1g-dev libzstd-dev

# Clone Tor
git clone https://git.torproject.org/tor.git

# Enter Tor dir
View bitcoind-install.md

Installing Bitcoin from Source with APT

# Install build tools
sudo apt install git build-essential libtool autotools-dev automake pkg-config libssl-dev libevent-dev bsdmainutils libboost-system-dev libboost-filesystem-dev libboost-chrono-dev libboost-program-options-dev libboost-test-dev libboost-thread-dev libminiupnpc-dev libzmq3-dev

# Clone the latest release
git clone -b v0.20.1 https://github.com/bitcoin/bitcoin.git

# Enter the cloned repo dir
View payment-stream.js
const sub = lnd.sendPayment();
sub.on('error', err => {
console.log("ERR", err);
})
sub.on('end', () => console.log("END"));
sub.on('status', status => console.log("STATUS", status));
sub.on('data', data => {
console.log("PAYMENT", data);
@alexbosworth
alexbosworth / inotify-channel-backup.md
Last active May 3, 2021
Backup channel.backup file using systemd and inotify
View inotify-channel-backup.md

LND backup script for channel.backup using inotify

Install inotify

sudo apt install inotify-tools

Create script to watch for changes and copy on change

View setup_npm.md

Install make

You will probably need build essential tools

# Ubuntu install build tools:
sudo apt-get install -y build-essential

Install Node.js

View setup_iptables.md

Setup iptables

Limit the number of incoming TCP connections

sudo iptables -N syn_flood
sudo iptables -A INPUT -p tcp --syn -j syn_flood
sudo iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN
sudo iptables -A syn_flood -j DROP
sudo iptables -A INPUT -p icmp -m limit --limit 1/s --limit-burst 1 -j ACCEPT
View setup_ufw.md

Setup UFW

Turn on the firewall

sudo ufw logging on
sudo ufw enable
// PRESS Y
sudo ufw status
sudo ufw allow OpenSSH
View bitcoind_setup.md

Install Bitcoin Core

Get PPA

sudo add-apt-repository ppa:bitcoin/bitcoin
// PRESS ENTER TO CONTINUE
sudo apt update && sudo apt install -y bitcoind