やりたいこと
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>
以上です!
参考