Secure SSH with Yubikey

https://developers.yubico.com/SSH/Securing_SSH_with_FIDO2.html
  • Install OpenSSH
  • ssh-keygen -t ed25519-sk -O resident -O verify-required -C "Your Comment"

– t : Specifies the type of key to create. We are using ed25519-sk

– 0 : Specify a key/value option.

resident : Indicate that the key handle should be stored on the FIDO authenticator itself.

verify-required : Indicate that this private key should require user verification for each signature.

  • Copy public key ssh-copy-id -i ~/.ssh/id_ed25519_sk.pub user@host
  • And finally update SSH server
# Support public key cryptography (includes FIDO2)
PubkeyAuthentication yes
# Enforce User Verification
PubkeyAuthOptions verify-required
# Public keys location
AuthorizedKeysFile .ssh/authorized_keys
# Allow root only with MFA
PermitRootLogin prohibit-password
# Disable password authentication
PasswordAuthentication no
PermitEmptyPasswords no

Laravel – Different between instance vs bind

use ->bind() when you want to provide just a FQCN (full-qualified class name), or a factory closure, to instruct the container on how to lazily build an instance only when needed.
use ->instance()` when you already have an constructed instance and want to instruct the container to provide that particular instance when required.

Simple Bindings

We can register a binding using the bind method, passing the class or interface name that we wish to register along with a closure that returns an instance of the class

Binding Instances

You may also bind an existing object instance into the container using the instance method. The given instance will always be returned on subsequent calls into the container

HDMI version(s)

HDMI Forum

HDMI 2.0

  • Độ phân giải mở rộng: Mở rộng khả năng tương thích độ phân giải 4K (2160 px) của HDMI 1.4/1.4a để chấp nhận tốc độ khung hình 50 hoặc 60 hertz (tốc độ truyền tối đa 18Gbps với 8 bit màu).
  • Hỗ trợ định dạng âm thanh mở rộng: Có thể chấp nhận lên đến 32 kênh đồng thời, hỗ trợ các định dạng âm thanh vòm sống động, chẳng hạn như âm thanh Dolby AtmosDTS:X và Auro 3D.
  • Luồng video kép: Có thể gửi hai luồng video độc lập để xem trên cùng một màn hình.
  • 4 luồng âm thanh: Có thể gửi tối đa 4 luồng âm thanh riêng biệt cho nhiều người nghe.
  • Hỗ trợ tỷ lệ khung hình 21:9 (2,35:1).
  • Đồng bộ động các luồng video và âm thanh.
  • Mở rộng khả năng HDMI-CEC.
  • Nâng cao khả năng chống sao chép HDCP được gọi là HDCP 2.2.

New Intel NUC Skull Canyon for … nothing

Intel® NUC Kit NUC6i7KYK

Mua thêm 1 em Intel NUC để nghịch ngợm gì đó ( mà cũng chưa biết làm gì )

  • 6th Generation Intel® Core™ i7 Processors
  • 16GB DDR4 – 2133Mhz

Tính ra hiện tại đang dùng em nó cho Windows nhưng có lẽ không thật sự cần thiết. Em nó lại mạnh hơn i5-6400 hiện đang dùng làm selfhosted. Có nên đẩy selfhosted sang đây không ? Tiếc là không có HDD 2.5″ chỉ có NVMe Gen3 x 4 2 slots.

Grafana – Install Loki

A Loki-based logging stack consists of 3 components:

  • Promtail is the agent, responsible for gathering logs and sending them to Loki.
  • Loki is the main server, responsible for storing logs and processing queries.
  • Grafana for querying and displaying the logs.
wget https://github.com/grafana/loki/releases/download/v2.9.8/loki-linux-amd64.zip
chmod a+x loki-linux-amd64
sudo cp loki-linux-amd64 /usr/local/bin/loki
loki --version
  • Create Systemd service
sudo nano /etc/systemd/system/loki.service
[Unit]
Description=Loki is a log aggregation system designed to store and query logs from all your applications and infrastructure.
Document=https://github.com/grafana/loki/releases
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/loki -config.file /mnt/data/loki/loki-config.yaml
Restart=on-failure
RestartSec=10
StandardOutput=append:/mnt/data/loki/logs/loki.log
StandardError=append:/mnt/data/loki/logs/loki.log

[Install]
WantedBy=multi-user.target

# This is a complete configuration to deploy Loki backed by the filesystem.
# The index will be shipped to the storage via tsdb-shipper.

auth_enabled: false

server:
http_listen_port: 3100

common:
ring:
instance_addr: 127.0.0.1
kvstore:
store: inmemory
replication_factor: 1
path_prefix: /mnt/data/loki
storage:
filesystem:
chunks_directory: /mnt/data/loki/chunks
rules_directory: /mnt/data/loki/rules

schema_config:
configs:
- from: 2020-05-15
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h

storage_config:
filesystem:
directory: /mnt/data/loki/chunks