やりたいこと
Proxmox上のVMにあるUbuntuサーバからトンネルを通ってSSH接続できるようにしたい
環境
サーバ | FMKTEC NUCBOX3 |
---|---|
接続先(サーバ)OS | Ubuntu(x86_64) |
接続元(クライアント)OS | Mac OS(Venture 13.5.1 M1チップ) |
現在のOSがどのシステムアーキテクチャか調べるにはuname -m
コマンドを打ちます
ProxmoxにUbuntuVMをぶちこむ
以下動画通りにやります
接続先(サーバ)OSでやること
1. openssh-server
のインストール
sudo apt -y update
sudo apt -y install openssh-server
2. /etc/ssh/sshd_config
の設定
以下の項目を探して修正します
PublickeyAuthentication yes
PasswordAuthentication no
修正したら以下のコマンドで再読み込みします
sudo systemctl restart ssh
ssh用の鍵を生成する
ssh-keygen -t rsa
なんか色々聞かれますが、全部Enter
を押します
id_rsa.pubについては、ファイル名をauthorized_keys
に変更します
cd .ssh
mv id_rsa.pub authorized_keys
権限を変更する
sudo chmod 600 authorized_keys
3. cloudflaredのインストール
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb
sudo dpkg -i cloudflared-linux-amd64.deb
Cloudflareの設定
こちらはクライアントOSで行います
雑ですが以下の記事の「SSH configファイルを設定する」まで行います
接続元(クライアント)OSでやること
1. キーペア(公開鍵と秘密鍵)の生成
cd ~/.ssh
# もし~/.sshディレクトリを作成していなかった場合
mkdir ~/.ssh
~/.ssh
直下で
ssh-keygen -t ed25519 -m PEM -C ''
そうすると、id_ed25519
とid_ed25519.pub
の2つのファイルが生成されます
.pub
拡張子のついている方が公開鍵です(Publicのpub)
2. SSHキーをトンネルを通して接続元(サーバ)OSに公開鍵を登録する
ssh-copy-id -i ~/.ssh/id_ed25519.pub <ユーザ名>@<Cloudflareで登録したHostName>
もし権限の関係で書き込めなかった場合
接続先(サーバ)OSにクライアントOSの~/.ssh/id_ed25519.pub
の内容をauthorized_keys
に追加します
ちなみに中身はcat
だったり、vim
だったりで見れます
3. サーバにSSH接続する
ssh <ユーザ名>@<Cloudflareで登録したHostName>
以上です!
参考