一般ユーザーでのsshでのアクセスについて
前提条件
1.一般ユーザーアカウント名:unknown
2.購入したvpsのサーバー名:srv12345
そもそもsshって何?→「Secure Shell」の略
Puttyを使用してssh、且つ一般ユーザー(rootユーザー以外)でアクセスする為には公開鍵と秘密鍵を作成しないといけない。
公開鍵:VPSのフォルダに放り込むファイル(拡張子.pub)
秘密鍵:公開鍵と同じ名前、但し拡張子がついていないファイル
ルート権限で一般ユーザーがVPSに入れるようにしないといけない(一般ユーザー向けに開放)
1. 先ずroot権限でログイン
2. 一般ユーザーが既に登録されているか?確認
[unknown@srv12345 ~]sudo cat /etc/passwd
3. 自分のPCに公開鍵を保存する為の.sshフォルダを作成する
PS C:\Users\unknown> mkdir .ssh
4. 公開鍵と秘密鍵を作成する
PS C:Users\unknown> cd .ssh
PS C:Users\unknown\.ssh\> ssh-keygen -t ed25519 -f pubkey //ここでは鍵の名前をpubkeyとしておく
5. 公開鍵("pubkey.pub)をVPSにアップロードする
[unknown@srv12345 ~]ssh-copy-id unknown@srv12345
どういう仕組みでアップロードされるのかは不明
とりあえず、自分のPCの所定の位置(C:Users\unknown.ssh)に公開鍵ファイルが置いてあれば、このコマンドを入力する事により勝手にアップロードしてくれる。逆にこのフォルダ位置にないと上手くいかない。
6. 一般ユーザーがPuttyでVPSにアクセスする為のSSHアクセス権限を持っているか確認
[unknown@srv12345 ~]sudo vi /etc/ssh/sshd_config
※注意:sshd_configであってssh_configではない
sshd_cofigの中身を確認して、'PubkeyAuthentication'の項目を探し、'yes'としておく。見つからない場合は追加しておく。
PubkeyAuthentication yes
7. 設定完了後、SSHサービスを再起動する
[unknown@srv12345 ~]sudo systemctl restart sshd
8. Puttyからアクセスをする
9. 一般ユーザーでPuttyからアクセスできたことを確認したら、root権限ではアクセスできないように扉を閉じておく
[unknown@srv12345 ~]sudo vi /etc/ssh/sshd_config
sshd_config内の'PermitRootLogin'を'no'にしておく。
PermitRootLogin no
そして再起動
[unknown@srv12345 ~]sudo systemctl restart sshd
なんて事はないと思うかもしれないが、
私は実はここまで来るのに一週間掛かってしまった。
もともとDreamhostなるVPSを使用していたが、上手くいかなかったので
Hostingerに乗り換えたのだ。
ところがどっこい、あまり詳しい説明がない会社で、
WEBとChatGPTを組み合わせながら何とかログインまでできるようになったのだ。
その間、日本のConohaなどの説明も参考にさせて貰ったし、十分参考になった。
まあ日本にいるならわざわざアメリカのVPSに挑戦するという苦行を行わなくてもいいだろう。
さて次はDjangoを入れていこう