LoginSignup
0
1

More than 3 years have passed since last update.

WindowsからVPSで遊ぶためのメモ

Last updated at Posted at 2021-04-15

VPSで遊ぶためのメモ

はじめに

VPSで遊ぶためにプロバイダに迷惑をかけないための最低限のセキュリティ対策とその他の設定をする

環境

クライアントOS: Windows 10
サーバOS: Ubuntu20.04
ツール: Tera Term と Powershell

Powershell

配色を変更

ColorToolを使ってPowershellの配色を変更する

本体はここから
https://github.com/microsoft/terminal/releases/tag/1904.29002

スキームはここから
https://github.com/microsoft/terminal/tree/main/src/tools/ColorTool

ターミナル
# themeを確認
$ ./colortool.exe -s

campbell-legacy.ini                                                              
campbell.ini                                                                    
cmd-legacy.ini                                                                  
deuteranopia.itermcolors                                                         
OneHalfDark.itermcolors                                                        
OneHalfLight.itermcolors                                                        
solarized_dark.itermcolors                                                      
solarized_light.itermcolors                                                      
tango_dark.itermcolors                                                           
tango_light.itermcolors

# themeを適用
$ ./colortool.exe theme名

セキュリティ対策

root

パスワードを設定しておく 

何もしていないとパスワードが設定されていないので、作業ユーザでログインしてシェルなどrootになってからでないとできない変更をしようとしたときにパスが設定してなくてrootになれなくて詰むことになるので

  • rootでログインする
root
sudo passwd root

 ユーザ

作業ユーザ作成

adduser username

管理権限を付与

sudoコマンドを使用できるようにする

usermod -aG sudo username

公開鍵作成

TeraTerm版

クライアント

  • Homeディレクトリに.sshフォルダを作成
  • 作成した.sshフォルダ内にTeraTermで公開鍵認証の鍵ペアを生成

サーバ

  • 作業ユーザでサーバへパスワードログインしておく
  • 公開鍵(.pub)をサーバの作業ユーザのhomeディレクトリへ設置(ドラッグ&ドロップ)する
  • .sshフォルダを作成して、ここに公開鍵を移動する
  • exitして、再びTeraTermから秘密鍵を選択してSSHログインできるか確認

Powershell版

クライアント

  • 認証方式はrsaで鍵のビット数を4096に指定
  • コメントとフレーズとファイルは指定しない(-Cと-Nと-f)
  • 保存先と名前はデフォルトでhome/.ssh/id_rsaになる
  • 名前を変えたければ入力する、そのままでいいならEnter
ターミナル
mkdir ホームディレクトリ\.ssh
cd ホームディレクトリ\.ssh
ssh-keygen.exe -q -t rsa -b 4096 -C '""' -N '""' -f id_rsa

鍵の生成はPowershellがいいね

サーバ

  • ssh -i 秘密鍵のパス ユーザ@ホスト名で接続
  • 毎度入力するのは面倒なのでエイリアスを設定
  • notepad $profile で編集する
$profile
# VPSその1
function vps1 {  
    ssh -i 秘密鍵のパス ユーザ名@ホストのIPアドレス
}
  • エイリアスが実行できない(スクリプトの実行が無効の場合)
    • 管理者権限でSet-ExecutionPolicy RemoteSigned を実行する
ターミナル
Set-ExecutionPolicy RemoteSigned
> Y
# 実行ポリシーを確認
Get-ExecutionPolicy

鍵認証接続もPowershellのほうがいいね

ポートの変更

デフォルトのままだと危険らしいので

/etc/ssh/sshd_config
Port 2222

rootユーザのログイン禁止

/etc/ssh/sshd_config
PermitRootLogin no

パスワード認証を禁止

/etc/ssh/sshd_config
PasswordAuthentication no

RSA認証を許可

/etc/ssh/sshd_config
RSAAuthentication yes

公開鍵認証を許可

/etc/ssh/sshd_config
PubkeyAuthentication yes

PAM認証を禁止

/etc/ssh/sshd_config
UsePAM no

ここで一旦sshサービスを再起動

rootログインできないことを確認してみる

sudo service ssh restart

システムを日本語化

日本語パックインストール

ターミナル
sudo apt-get install language-pack-ja

日本語化を適用

ターミナル
sudo update-locale LANG=ja_JP.UTF-8
ターミナル
strings /etc/default/locale

zsh

sudo apt install zsh
chsh -s /bin/zsh
  • ターミナルを再起動する
  • Zshが誕生したらEnter

- Zshのフレームワークであるpreztoをいれる

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
もろもろの初期化処理
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
  • この時点でかなりおしゃれなターミナルになる
    • ならなければどこかおかしい
  • 最後にモジュールの設定をして、補完やハイライトされるようにする
~/.zpreztrc
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'syntax-highlighting' \
  'autosuggestions' \
  'prompt' \

Dotfiles

  • シェルが入ったらdotfiles等をscpかgitクローンで持ってくる
  • git cloneは自分のレポジトリからやればいいので省略
  • scpは以下の通り
あとで書く

ストレージ

aptコマンドで不要なゴミを削除

sudo apt-get autoremove
sudo apt-get autoclean

duよりみやすいncduで容量を確認する

標準のduコマンドより見やすい

sudo apt install ncdu
~/.zshrc
alias size=ncdu

コマンドパッケージ

Rustのコマンドツールを入れる

  • exa : ls
  • bat : cat
  • fd : find
  • procs : ps
  • ripgrep : grep

  • 上記をエイリアスに設定しておく

Cコンパイラ等のビルドパッケージ群をインストール(必須)
sudo apt install build-essential
つぎにRustインストール
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
パス追加
export RUST="$HOME/.cargo/bin"
export PATH=$PATH:$RUST
バージョン確認
cargo -V
パッケージをまとめてインストール
cargo install exa bat fd-find procs ripgrep

# ここでエラーになったらbuild-essetialが入ってないってこと
~/.zshrc
alias ls='exa'
alias cat='cat'
alias find='fd'
alias ps='procs'
alias grep='ripgrep'

ターミナルツール

tmux

基本的な使い方はここを参考にする

Python

pyenv

  • いろんなpythonで遊びたいから切り替えが楽だといいね

ビルドツールをインストール

  • pythonをビルドするためのツールをいれる
sudo apt install -y \
build-essential \
libffi-dev \
libssl-dev \
zlib1g-dev \
liblzma-dev \
libbz2-dev \
libreadline-dev \
libsqlite3-dev \

pyenvインストール

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
ターミナル
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.zshrc

pythonインストール

# インストールできるやつ一覧
pyenv instlal -l
# インストール
pyenv install 3.9.4

python切り替え

# いまのpythonのバージョン
pyenv versions
# 全体のバージョンをきめる
pyenv global バージョン
# ローカルのバージョンをきめる
pyenv local バージョン

pip

  • まずpipを最新にする
  • パッケージはpip install -r requirements.txtで一括でインストール
# 最新にする
pip install -U pip
# バッケージ一括インストール
pip install -r requirements.txt
requiremets.txt
pandas
numpy
scipy
websocket
websocket-client
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1