SSH接続時のカレントディレクトリを変更しておく小技

SSH接続時のカレントディレクトリを変更しておく

webサーバーにSSHで繋ぐのに,ホームディレクトリから開始してもなあ.

移動するの面倒だし,scpでファイル転送するときもディレクトリ指定面倒だなあ.ということです.

よく考えたら転送先がルート権いるので,結局ホームディレクトリに送ってから移動しなければならなかった.どっちが良いのか...

参考サイト様 teratail.com

とりあえずSSHする.

$ nano ~/.bashrc

で.bashrcを開いて(vimの使い方一生覚えられんので諦めた),最終行とかに

# ログイン時にhtmlディレクトリに移動
cd /var/www/html

って追記しておけば完了.

.bashrcはログイン時に自動的に読まれるので,このcdコマンドが自動的に実行される.

つまり,実機でログインしてターミナルを開いてもカレントディレクトリが移動しているはず.

Windows10リモートデスクトップでキーボードおかしい

Windows10のリモートデスクトップ時に英語キーボードになる

変換キーを押すと「`」が入力される.すごく気分が悪くなる.

環境

Windows10同士で標準のリモートデスクトップソフト.

解決策

参考サイト様 bitto.jp

レジストリエディタを開いて

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000411

KBDJPN.DLL

の部分を

kbd106.dll

に変更.

再起動したら変換されるようになった.

何をするにもトラブルが起こるな.

WordPressでメール認証が必要な会員制サイトを作る.

会員制サイトを作る

Ultimate Member と User Frontendというプラグインを入れてゴチャゴチャしてたらできた.

でも,メール認証が備わってないので,存在しないアドレスでも登録できてしまう.

メール認証機能を加える

そこで"User Verification"というプラグインを入れてあげると,メール認証機能が実装できる.

メニュー画面から送信するメールのテンプレートが作れるのだが...なんと日本語だと文字化けしてスゴいことになる.

f:id:a2h1r0:20200229145859p:plain
文字化けの極み

仕方ないからソースコードからメール送信用っぽい関数を探す...

wp_mail()

ほう.これやろなあ.

で,検索.

参考サイト様

WPAutoResponderのメール文字化け対策 - Qiita



結論

"WP Multibyte Patch"というプラグイン入れたら解決しました.

必死こいてソース読んでたあの時間は?

SSHでのファイル転送

ファイルのアップロード

> scp ./Desktop/aaa.txt lolipop:/web/

ファイルのダウンロード

> scp lolipop:/web/aaa.txt ./Desktop/

ディレクトリのアップロード

> scp -r ./Desktop/bbb lolipop:/web/

ディレクトリのダウンロード

> scp -r lolipop:/web/bbb ./Desktop/

個人的にロリポップ上からデスクトップに持ってきてソースコード読んだりするので.コピペ用.

ロリポップへのSSHを公開鍵認証にする

パスワードなっが!ということで.

以下サイト様参考にしました. b.gcchaan.com

鍵作ってアップして"authorized_keys"てファイルに書き込んであげる.

$ cat ../id_dsa.pub >> authorized_keys
$ chmod 600 authorized_keys

おわり.

.ssh/config

Host lolipop
  User 【アカウント】(書いてる)
  Port 2222
  HostName 【サーバー】(書いてる)
  IdentityFile  ~/.ssh/id_rsa
  IdentitiesOnly yes

これで

> ssh lolipop

で繋がる.

忘備録なので雑極まりない.もしわからなければ聞いてくれたら答えるけど,ネットって意外と聞きにくいのよね.

Windows10から多段SSH

一発でCentOSにアクセスしたい

自宅から研究室にグローバルIPSSHするとWindows10のワークステーションに繋がり,そこからさらにSSHCentOS(Webサーバ)にアクセスする必要がある.

めんどい.

↓↓↓参考にしました↓↓↓ neno-garden.com

"C:\Users\ユーザ名\.ssh\config"に以下を追記.

Host workserver(好きな名前)
    Hostname グローバルIP or ドメイン名
    User ログインするユーザ名
 
Host webserver(好きな名前)
    Hostname ローカルIP
    User ログインするユーザ名
    IdentityFile ~/.ssh/id_rsa(秘密鍵のパス)
    ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe workserver(変更してね) -W %h:%p

これで,"ssh workserver"でワークステーションに,"ssh webserver"でWebサーバに一発でアクセスできる.

ちなみに

IdentityFileを書かない場合,パスワードでのログインとなる.

研究室のワークステーションはパスワードで管理してるので,workserverにはIdentityFileを記載していない.

その後,引き継ぎのことも考えて,結局Webサーバの方もパスワード管理にした...

CentOS8の設定色々

安定のApache

外部からアクセスしようとすると,403 Forbidden.

↓↓↓参考にしました↓↓↓

engineers.weddingpark.co.jp

④,⑤で解決しました.このへんは情報多いし簡単ね.

リモートデスクトップ

xrdpをインストールし,Windows標準リモートデスクトップ接続ソフトからログイン画面に.

ログインするとソフトごと落ちる問題発生.

...

...

...

あ, tigervnc-serverもインストールしないとダメなのね.見落とし.

自分の理解

xrdpは接続と認証(ログイン管理)を行うが,そもそもVNCサーバにならなければリモートで操作できない.そのためにtigervnc-serverが必要. だから,ログイン後に落ちてしまった.

xrdpだけでログイン画面までたどり着くもんだから,早とちり. その後,そもそもGUIがリソースの無駄なので停止したため,試してませんが...

その後,実際にやりましたが,無事接続できました.

$ sudo yum install xrdp tigervnc-server
$ sudo systemctl start xrdp
$ sudo systemctl enable xrdp
$ sudo firewall-cmd --permanent --zone=public --add-port=3389/tcp
$ sudo firewall-cmd --reload