設定していて、参考の記事がいまいち分かりづらいなぁというか流れがよくわからん…(´・ω・`)って思ったので自分用備忘録。
多分VirtualBoxとかでも使えるのでは…(なんて思ってる)
前提
1.Linux側の準備
- sshをインストール(インストール済みだったらスキップ)
$ apt install ssh
上記でパーミッションでエラーが出た場合はsudoを使う
$ sudo apt install ssh
~/.ssh
ディレクトリを作成して、権限を700に変更。
$ mkdir ~/.ssh $ chmod 700 ~/.ssh
chmod
でエラーが出たらsudoつけるて実行すると変更できます。
(permission deinedとか言われたらとりあえずsudoつける)
ちなみにファイルパーミッションよくわからんっていうときはこちらを参考にするとわかりやすいかも。
- パスワードで認証できるようにしておく
$ sudo vi /etc/ssh/sshd_config ... PasswordAuthentication yes # ↑がnoになっていたらyesに変更する :q $ sudo systemctl restart sshd # sshを再起動
2. macOS側の準備
$ ssh-keygen -t rsa
passphraseを2回聞かれると思います。何も入力せずリターンしても問題ないです。
- 鍵が作成されてるか確認する
$ ls ~/.ssh/ id_rsa id_rsa.pub
こんな感じで作られてたらOK。
id_rsa.pub
が秘密鍵。
(´-`).oOGithubとか複数のVPS使い分けたりとかする場合はちゃんと都度別々に鍵作ったほうがいいかもなぁ
SSH で複数の秘密鍵を使い分けるいくつかの方法 - Ellinikonblue.com Weblog
- 作った鍵をLinuxに送る
$ ssh-copy-id -i ~/.ssh/client_rsa.pub サーバー側のユーザー名@サーバーのアドレス Are you sure you want to continue connecting (yes/no)? yes サーバー側のユーザー名@サーバーのアドレス's password: # ↑初回だけパスワード認証 Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'サーバー側のユーザー名@サーバーのアドレス'" and check to make sure that only the key(s) you wanted were added
メッセージで「ssh 'サーバー側のユーザー名@サーバーのアドレス' でログインできるか試してみぃ」って言われてるので、tryしてみます。
$ ssh 'サーバー側のユーザー名@サーバーのアドレス' Linux ***** 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Jun 3 09:50:24 2020 user@device:~$
こんな感じのメッセージ出てきたら接続成功です。
ポート変えておきましょう
デフォルトのポートのままだとまずいので、適当なポートに変更しておく。
簡単な攻撃対策。
ただどんな番号でも良いわけではなさそうなので、ウェルノウンポート(well-knownポート)とは - IT用語辞典 e-Words を参考に変更します。
$ sudo vi /etc/ssh/sshd_config ... # Port 22 Port 5000 :q $ sudo systemctl restart sshd # sshを再起動
mac側から接続を確認
$ ssh -p 5000 (サーバのユーザ名)@(サーバのアドレス)
これで接続できる(はず)
参考
Mac OS X から Linuxサーバ へ、RSA 鍵を用いて SSH 接続する - joker8phoenix's diary