- 投稿日:2021-10-31T22:49:56+09:00
Ubuntuでマイナポータルを使う方法
Ubuntu端末でもマイナポータルを使いたい! メインPCのUbuntuからIC Card Readerを使ってマイナポータルにログインするまで時間がかかったので備忘録です。 環境 OS:Ubuntu 21.10 PC:lenovo ThinkPad X250 IC Card Reader:I-O DATA USB-NFC3 成功パターン VirtualBoxでWindows10を動かして、IC Card Readerのドライバはゲスト側であてることに落ち着きました。VirtualBoxのバージョンは6.1.26_Ubuntu r145957で動作確認しています。 VirtualBoxのインストール VirtualBoxはメインパッケージだとUSB1.1しか対応していません。I-O DATA USB-NFC3はUSB2.0指定なので拡張パッケージのインストールが必要でした。 #メインパッケージインストール $ sudo apt install virtualbox #拡張パッケージインストール $ sudo apt install virtualbox-ext-pack ユーザーのグループ追加 VertualBoxをインストールすると作成されるvboxusersにユーザーを追加しないと、VertualBoxからホストのUSBデバイスにアクセスできませんでした。 #グループに追加 USERNAMEに作業で使うユーザー名を入れる $ sudo gpasswd -a USERNAME vboxusers Windows10のインストール Windows 10 のディスク イメージ (ISO ファイル) のダウンロードからISOをダウンロードして仮想マシンの光学ドライブにアタッチ。インストール手順は物理マシンの場合と変わりませんが、Windows10ライセンスは個別に購入して当てないとライセンス違反になるので忘れずに。 IC Card Readerのアタッチ インストールが終わったら仮想マシンを一度落として、USBのパラメーターをUSB2.0(OHCI+EHCI)コントローラーに変更。ローカルで認識しているCiecle CIR215 PICC[0100]をデバイスフィルターに追加します。 ドライバインストール USB-NFC3 サポートソフトからWindows10用のドライバをダウンロードしてインストール。 マイナポータル拡張機能のインストール マイナポータルのガイダンスに従いEdgeにChromeのマイナポータル拡張機能を追加。 ログイン IC Card Readerにマイナンバーカードを乗せてPINを入力するとマイナポータルのログインに成功します。保険証利用登録も無事に成功しました。 失敗パターン1 Ubuntuからのアクセス 動作環境についてにある通り、LinuxどころかMacもサポートしてません。Ubuntuローカルからマイナポータルトップにアクセスすると、サポート対象外の表示になります。 失敗パターン2 VMware Workstation Playerの利用 仮想マシンのUSB設定をUSB2.0にしてもIC Card Readerを認識してくれませんでした。 細かい仕様は確認していませんが、ローカルでドライバがあたっていないデバイスは仮想マシンにリダイレクトできなさそう。I-O DATA USB-NFC3のUbuntu用ドライバを探しましたが見つからなかったので、ゲスト側だけドライバを当てれば動作する仮想化ツールに乗り換えました。 終わりに マイナポータルの動作環境が限られているのは残念ですが、国の予算とセキュリティの問題を考えると、メジャーな環境に絞るという判断は妥当かもしれません。仮想マシン方式で動作はしましたが、セキュリティに関しては各自の判断でよろしくお願いします。
- 投稿日:2021-10-31T19:06:55+09:00
Docker Desktop と Docker CE の差異をメモる
はじめに Windows + WSL環境にてDocker DesktopからDocker CEへ移行した場合、元々WSL内でしか操作利用していなかったとしても幾つかの挙動が存在し、Docker Desktopは便利にできていたと実感することがあるので、できなくなってしまったこととその代替プランをメモとして残します。 loopbackアドレスのマッピング Docker Desktop 127.0.0.1~127.255.255.255までアドレスをマップできる Docker CE 127.0.0.1しかマップできない Docker Destopは127.0.0.0/8が使える。127.1.1.1等もDocker Desktopの中継プロセスがWindowsホストにマッピングしてくれる。 Docker CEも127.1.1.1をマップするとホストにあたるWSLインスタンスにマッピングしてくれる。しかし、WSLからWindowsホストへのマッピングは127.0.0.1のみなのでWindowsホストにはマップされない。 代替プラン 予め決めておいたIPv6 ユニークローカルアドレスをWSLインスタンスに割り振り、そのアドレスに対してマッピングする。 参考) WSL2のUbuntuに固定のIP(IPv6)アドレスを複数つけてみる host.docker.internal Docker Desktop Windowsホスト(デフォルトでは192.168.65.2)を指す。 Docker CE host.docker.internal:host-gateway が代替するが、WSLインスタンスを指す。 Docker Desktopでは、host.docker.internalという特別なドメインでWindowsホストに中継する。しかも中継プロセスがローカルアクセスとして中継するためにファイヤーウォールの影響を受けない。 Docker CEにもでhost.docker.internalの代替として、host-gatewayというキーワードでextra_hostsに登録する手法が提供されたが、ここでいうホストとはWSLを指すのでDocker Desktopの概念とは意味が異なる。 Visual Studio Code PHPDebug拡張を利用するケース Remote WSL を使用してソースツリーにアクセスする場合、vscodeがオープンしたWindowsホストのlocalhot:9003をWSLのlocalhost:9003にポートプロキシを行う。 Windows localhost:9003 WSL localhost:9003 この場合 Docker Desktop host.docker.internal = Windowsの9003へ接続*可能* Docker CE host.docker.internal = WSLの9003へ接続*可能* となりどちらも接続可能となる。 Remote Containerを使う場合でも、WSL経由のリモートコンテナへの接続に関しては双方ともに問題無い。 ただし、vscodeの中継プロセスはコンテナ内で起動するのでWindowsとコンテナ内で9003がlistenされる。 Windows localhost:9003 WSL N/A Container localhost:9003 この場合、Remote WSLとは異なり Docker Desktop host.docker.internal = Windowsの9003へ接続*可能* Docker CE × host.docker.internal = WSLの9003へ接続*不可能* Docker CE 〇 localhost = Containerの9003へ接続*可能* Docker Desktopではどちらも host.docker.internal でよかった設定がDocker CEではどちらのリモート機能を使うかによって設定を切り替える必要がある。
- 投稿日:2021-10-31T16:58:20+09:00
Linux版Zoomで画面共有できないのでワークアラウンドを試してみた
きっかけ Zoomで資料共有して話をしようと思った矢先、下のようなエラーが出てしまい、共有できませんでした。 Can not start share, we only support Wayland on GNOME with Ubuntu 17 and above, Fedora 25 and above, Debian 9 and above, CentOS 8 and above, OpenSUSE Leap 15 and above, Oracle Linux 8 and above, Arch Linux, AnterGos, Manjaro. If your OS is not on the list, please use x11 instead. これが表示されたときは「おかしいな。Wayland on Gnome with Debian 10なのでDebian 9 and aboveに含まれているはずだ。」と思ったのですが、打合せの最中でしたのでそれどころではありませんでした。 調査結果 キーワードでインターネット検索しました。このウェブページが参考になりました。 https://www.guyrutenberg.com/2020/06/22/fixing-zoom-screen-sharing-on-debian-unstable/ どこかのアップデートでOSバージョンを認識するzoomの機能が壊れたんじゃないかということ。 トレースすると/etc/os-releaseを見て判断している。(straceで追っている) なので、このファイルを書き換えてしまえば回避可能。 完全に自己責任ですね。 ワークアラウンド 参考サイトの記載のとおりです。 しつこいようですが自己責任で実施ください。何かあったら戻せる方のみどうぞ。 # mv /etc/os-release{,.save} # cp /etc/os-release{.save,} # cat << EOL >> /etc/os-release VERSION_ID="99" VERSION="99 (sid)" VERSION_CODENAME="sid" EOL これが終わってからzoomアプリを立ち上げました。 Resources $ dpkg -l | grep ^ii ii zoom 5.8.0.16 amd64 Zoom Cloud Meetings $ cat /etc/os-release PRETTY_NAME="Debian GNU/Linux bookworm/sid" NAME="Debian GNU/Linux" ID=debian HOME_URL="https://www.debian.org/" SUPPORT_URL="https://www.debian.org/support" BUG_REPORT_URL="https://bugs.debian.org/" VERSION_ID="99" VERSION="99 (sid)" VERSION_CODENAME="sid" おわび エラーウィンドウのスクリーンショット、動作した後のスクリーンショットを撮り忘れてしまいました。何かの折に後者だけでも撮って更新したいと思います。 〆
- 投稿日:2021-10-31T10:31:08+09:00
xargsと|(パイプ)の役割をgrepを例にして理解する
始めに いきなりですが、こんな感じでgrepをしたこと/見たことがある方は多いかと思います。 $ find . -name "*.php" | xargs grep hoge これはカレントディレクトリ配下の「.php」がつくファイルから「hoge」という文字列を検索するコマンドになります。 以前、「なぜxargsが必要なのか」「|だけじゃダメなのか」と問われたことがあります。 頭の中ではなんとなく理解しているのですが、うまく他人に説明することができませんでした。 なので今回は備忘録を兼ねて、xargsと|(パイプ)の役割について記述していきたいと思います。 両者の役割 xargs コマンドの標準出力結果を次のコマンドの引数として受け取る。 |(パイプ) コマンドの標準出力結果を受け取り次のコマンドに渡す。 うん。つまり? 文面じやわかりにくいですね。 この後、実際にgrepを使ってどのように動くか見ていきたいと思います。 grepを例にして違いを見てみる 準備 テスト用のディレクトリ内でhoge.phpとfoo.phpを用意する。 中身は2つとも同じ。 $ find . -name "*.php" ./hoge.php ./foo.php $ cat * <?php echo 'hoge'; <?php echo 'hoge'; findの標準出力結果は、上記の通りですがこの結果を次のコマンドに渡します。 grepで結果を比較 |(パイプ)のみの場合 $ find . -name "*.php" | grep hoge ./hoge.php findの標準出力結果そのものの中からgrepしていることがわかる。 xargsをつけた場合 $ find . -name "*.php" | xargs grep hoge ./hoge.php:echo 'hoge'; ./foo.php: echo 'hoge'; findの標準出力結果をgrepの引数にして実行していることがわかる。 つまり簡単に言うと grepの対象が 前者は 「./hoge.php ./foo.php という文字列の中から検索」 後者は 「./hoge.phpと./foo.php というファイルの中から検索」 と考えると分かりやすいと思います。
- 投稿日:2021-10-31T10:26:30+09:00
dovecotがインストールされているサーバーでtelnetをしてもログインできない
はじめに dovecotがインストールされているサーバーでtelnetをしてもログインできなかった際の対応と解決策の備忘録として執筆します。 前提 postfixを構築し、dovecotでメールの受信ができるかのテストを実施 ユーザーは「mail_user」としてuid「500」としていた。 環境 Amazon Linux2 問題 dovecotがインストールされているサーバーでtelnetをしてもログインできない。 passを入力すると「Internal error occurred」のエラーが出る。 [root@ip-10-0-10-50 ~]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. mail_user -ERR Unknown command. user mail_user +OK pass mail_user -ERR [SYS/TEMP] Internal error occurred. Refer to server log for more information. Connection closed by foreign host. 調査 systemctl status dovecotで確認 uid=500として設定した「mail_user」に権限がないと出力される。 [root@ip-10-0-10-50 ~]# systemctl status dovecot ● dovecot.service - Dovecot IMAP/POP3 email server Loaded: loaded (/usr/lib/systemd/system/dovecot.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2021-10-25 10:55:04 UTC; 5 days ago Docs: man:dovecot(1) http://wiki2.dovecot.org/ Process: 13854 ExecStop=/usr/bin/doveadm stop (code=exited, status=0/SUCCESS) Process: 13866 ExecStart=/usr/sbin/dovecot (code=exited, status=0/SUCCESS) Process: 13863 ExecStartPre=/usr/sbin/portrelease dovecot (code=exited, status=0/SUCCESS) Process: 13859 ExecStartPre=/usr/libexec/dovecot/prestartscript (code=exited, status=0/SUCCESS) Main PID: 13869 (dovecot) CGroup: /system.slice/dovecot.service ├─ 7624 dovecot/ssl-params ├─13869 /usr/sbin/dovecot ├─13871 dovecot/anvil ├─13872 dovecot/log └─13874 dovecot/config Oct 30 18:27:24 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 2 secs): user=<>, rip=209.17.97.90, lip=10...3REWFa> Oct 30 18:48:36 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 2 secs): user=<>, rip=66.228.34.83, lip=10...5C5CJT> Oct 30 18:57:28 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 0 secs): user=<>, rip=45.33.91.76, lip=10....4tIVtM> Oct 30 20:47:48 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 2 secs): user=<>, rip=50.116.49.185, lip=1...4ydDG5> Oct 30 20:56:19 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 1 secs): user=<>, rip=45.79.158.15, lip=10...4tT54P> Oct 30 22:48:31 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 3 secs): user=<>, rip=198.74.60.35, lip=10...7GSjwj> Oct 30 22:55:57 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Disconnected (no auth attempts in 0 secs): user=<>, rip=45.79.186.125, lip=1...4tT7p9> Oct 31 00:34:27 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3-login: Login: user=<mail_user>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=12...x/AAAB> Oct 31 00:34:27 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3(mail_user): Error: Mail access for users with UID 500 not permitted (see first_vali...ookup). Oct 31 00:34:27 ip-10-0-10-50.ap-northeast-1.compute.internal dovecot[13872]: pop3(mail_user): Error: Invalid user settings. Refer to server log for more information. Hint: Some lines were ellipsized, use -l to show in full. 「linux uid not permitted」でぐぐる 「/etc/dovecot/conf.d/10-mail.conf」ファイルに「first_valid_uid = 1000」と設定されているため uid1000未満はログインできないとのこと。(要参考記事参照) 原因 uidの設定値を1000以下にしていたためログインできなかった。 解決策 「/etc/dovecot/conf.d/10-mail.conf」ファイルの「first_valid_uid = 1000」を「first_valid_uid = 500」と変更する。 結果 telnetアクセスができ、メール受信がされていることが確認できた。 [root@ip-10-0-10-50 ~]# telnet localhost 110 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user mail_user +OK pass mail_user +OK Logged in. list +OK 1 messages: 1 2777 参考記事
- 投稿日:2021-10-31T01:37:03+09:00
Ubuntu18.04 + pyenv + pipenv + Django + Apache2 なデプロイ
ローカルではゴリゴリに動いているDjangoアプリケーションをデプロイするときに,何度も何度も失敗して悲しい思いをしたので自分用にまとめます.お察しの通りあんまりLinuxサーバに詳しいわけではないので,間違ってオジャンにしても責任取れません.悪しからず. さくらVPSを利用して環境構築していきましょう. タイトルにもある通り,Ubuntu18.04をインストールしてあり,Windows10からTeraTermで接続します. さくらVPSのダッシュボードからサーバーにOSをインストールする時のナンチャラ=カンチャラはデフォルトのままでOKだと思います. いつもの ubuntu@:~$ sudo apt update ubuntu@:~$ sudo apt upgrade rootユーザーにプレインパスワードで接続し続けるのは絶対ダメ! 玄関のドア全開で,家の鍵を玄関のど真ん中に置いたまんまにしとくぐらい危ないです.知らんけど. というわけで,,, ログインユーザを作成し,sudoの実行権限を付与します ユーザを作成していきましょう.今回はアプリケーション名にちなんでttimesというユーザを作成します. そういえば僕は事前にラズパイとかでLinuxサーバを触ったことがあったので知ってたんですが,パスワード入力の場面で入力してても何も入ってるように見えないのなかなかびっくりしますよね. ubuntu@:~$ sudo adduser ttimes [sudo] password for ubuntu: (管理ユーザのパスワード入力) # sudo実行のために必要 今後もたまに聞かれるよ. Enter new UNIX password: (一般ユーザのパスワード設定) # 作成するユーザにログインするときに必要. Retype new UNIX password: passwd: password updated successfully # パスワード設定成功! Changing the user information for ttimes # 手帳の持ち主情報ページみたいなことを聞かれる Enter the new value, or press ENTER for the default # 基本的に全部空白でいいと思ってます Full Name []: # 設定しない場合はEnter Room Number []: # 設定しない場合はEnter Work Phone []: # 設定しない場合はEnter Home Phone []: # 設定しない場合はEnter Other []: # 設定しない場合はEnter これでユーザーができました. 次はsudoの実行権限付与です. ubuntu@:~$ sudo gpasswd -a ttimes sudo Adding user ttimes to group sudo 次にSSH接続設定をします SSH接続についてはWindows10ユーザの僕はさくらVPSのヘルプページの手順通りに設定しました.ttimesでプレインパスワードを使ってログインしたうえで,参考ページの通りに設定を進めました. 使うコマンドとしては以下の通り. ttimes@xxx-xxx-xxxxxx:~$ mkdir .ssh ttimes@xxx-xxx-xxxxxx:~$ chmod 700 .ssh ttimes@xxx-xxx-xxxxxx:~$ cat id_rsa.pub > .ssh/authorized_keys ttimes@xxx-xxx-xxxxxx:~$ chmod 600 .ssh/authorized_keys ttimes@xxx-xxx-xxxxxx:~$ rm -f id_rsa.pub ここまで設定できたら,ついでにこのままセキュリティ面を強化していきましょう ポート変更・rootログインの禁止・パスワードログインの禁止 同じくさくらVPSのヘルプページにお世話になって変更作業を進めます. ログイン周りの設定を行うためには一般ユーザ(ttimes)では権限不足なので,以下のコマンドで管理ユーザとして設定していきます. ttimes@xxx-xxx-xxxxxx:~$ su - Password: su: Authentication success root@xxx-xxx-xxxxxx:~$ もちろん`ubuntu`としてログインしたままのシェルがあるならそこからでも問題ないですが,この作業が終ってしまえばそれ以降は`ubuntu`として操作してしまうとややこしいことになる原因になりかねないです.そっとシェルを閉じておきましょう. ポート番号について 先にあげた手順に対して行いたい補足が少しあります."ポートの変更については任意"みたいな書き方してますが,僕は変更した方がいいと思っています. 以前僕そうだったように,ポートが何か分からない方は無難にPort22のまま進めがちだと思うのですが,この機会にこちらのサイト様をご一読されてみてはいかがでしょうか. 基本的に使う番号は22以外なら何でもいいみたいなんですが,ベストなのは49152番~65535番から選ぶことみたいですね.もし万一かぶってしまっても,あとでまた変更できるのでとりあえずは適当に決めてしまいましょう! 使いたい番号が"いま使われていない"ことを確認する コマンドで確認できます.例えば1100の使用状況を確認するならこんな感じです. ttimes@xxx-xxx-xxxxxx:~$ sudo lsof -i:1100 なにか帰ってきたら使用中のポートということですが,逆に何も帰ってこなかったら今は空いていることになります. 使いたい番号が"将来的につかわれないこと"を確認する 先ほどの参考サイト様では,検索などでざっくり調べておくなど,念には念を入れておくことをおおすすめしていますね. 決まったポート番号は,下のコマンドから設定ファイルに書き込むことで有効化できます. ubuntu@xxx-xxx-xxxxxx:~$ sudo nano /etc/ssh/sshd_config ちなみに,ちょこっと定数変更したりするだけなら`vi`とか`vim`とかは無駄に使いにくくてストレスフルではないですか? 僕的にはシェル上でゴリゴリとコードを書いて開発していくような方でもないなら,`nano`で簡単に進めるのがおすすめです.ほぼ普通のエディタとして,直感的に使用できます. 設定が完了したら,設定を反映させるために再読み込みを掛けましょう. ubuntu@xxx-xxx-xxxxxx:~$ sudo reboot 今日はここまで.
- 投稿日:2021-10-31T01:37:03+09:00
Ubuntu18.04 + pyenv + pipenv + Django + Apache2 なデプロイ その0
ローカルではゴリゴリに動いているDjangoアプリケーションをデプロイするときに,何度も何度も失敗して悲しい思いをしたので自分用にまとめます.お察しの通りあんまりLinuxサーバに詳しいわけではないので,間違ってオジャンにしても責任取れません.悪しからず. さくらVPSを利用して環境構築していきましょう. タイトルにもある通り,Ubuntu18.04をインストールしてあり,Windows10からTeraTermで接続します. さくらVPSのダッシュボードからサーバーにOSをインストールする時のナンチャラ=カンチャラはデフォルトのままでOKだと思います. 結構長くなったので分けて書いていきます その1 いつもの ubuntu@:~$ sudo apt update ubuntu@:~$ sudo apt upgrade rootユーザーにプレインパスワードで接続し続けるのは絶対ダメ! 玄関のドア全開で,家の鍵を玄関のど真ん中に置いたまんまにしとくぐらい危ないです.知らんけど. というわけで,,, ログインユーザを作成し,sudoの実行権限を付与します ユーザを作成していきましょう.今回はアプリケーション名にちなんでttimesというユーザを作成します. そういえば僕は事前にラズパイとかでLinuxサーバを触ったことがあったので知ってたんですが,パスワード入力の場面で入力してても何も入ってるように見えないのなかなかびっくりしますよね. ubuntu@:~$ sudo adduser ttimes [sudo] password for ubuntu: (管理ユーザのパスワード入力) # sudo実行のために必要 今後もたまに聞かれるよ. Enter new UNIX password: (一般ユーザのパスワード設定) # 作成するユーザにログインするときに必要. Retype new UNIX password: passwd: password updated successfully # パスワード設定成功! Changing the user information for ttimes # 手帳の持ち主情報ページみたいなことを聞かれる Enter the new value, or press ENTER for the default # 基本的に全部空白でいいと思ってます Full Name []: # 設定しない場合はEnter Room Number []: # 設定しない場合はEnter Work Phone []: # 設定しない場合はEnter Home Phone []: # 設定しない場合はEnter Other []: # 設定しない場合はEnter これでユーザーができました. 次はsudoの実行権限付与です. ubuntu@:~$ sudo gpasswd -a ttimes sudo Adding user ttimes to group sudo 次にSSH接続設定をします SSH接続についてはWindows10ユーザの僕はさくらVPSのヘルプページの手順通りに設定しました.ttimesでプレインパスワードを使ってログインしたうえで,参考ページの通りに設定を進めました. 使うコマンドとしては以下の通り. ttimes@xxx-xxx-xxxxxx:~$ mkdir .ssh ttimes@xxx-xxx-xxxxxx:~$ chmod 700 .ssh ttimes@xxx-xxx-xxxxxx:~$ cat id_rsa.pub > .ssh/authorized_keys ttimes@xxx-xxx-xxxxxx:~$ chmod 600 .ssh/authorized_keys ttimes@xxx-xxx-xxxxxx:~$ rm -f id_rsa.pub ここまで設定できたら,ついでにこのままセキュリティ面を強化していきましょう ポート変更・rootログインの禁止・パスワードログインの禁止 同じくさくらVPSのヘルプページにお世話になって変更作業を進めます. ログイン周りの設定を行うためには一般ユーザ(ttimes)では権限不足なので,以下のコマンドで管理ユーザとして設定していきます. ttimes@xxx-xxx-xxxxxx:~$ su - Password: su: Authentication success root@xxx-xxx-xxxxxx:~$ もちろん`ubuntu`としてログインしたままのシェルがあるならそこからでも問題ないですが,この作業が終ってしまえばそれ以降は`ubuntu`として操作してしまうとややこしいことになる原因になりかねないです.そっとシェルを閉じておきましょう. ポート番号について 先にあげた手順に対して行いたい補足が少しあります."ポートの変更については任意"みたいな書き方してますが,僕は変更した方がいいと思っています. 以前僕そうだったように,ポートが何か分からない方は無難にPort22のまま進めがちだと思うのですが,この機会にこちらのサイト様をご一読されてみてはいかがでしょうか. 基本的に使う番号は22以外なら何でもいいみたいなんですが,ベストなのは49152番~65535番から選ぶことみたいですね.もし万一かぶってしまっても,あとでまた変更できるのでとりあえずは適当に決めてしまいましょう! 使いたい番号が"いま使われていない"ことを確認する コマンドで確認できます.例えば1100の使用状況を確認するならこんな感じです. ttimes@xxx-xxx-xxxxxx:~$ sudo lsof -i:1100 なにか帰ってきたら使用中のポートということですが,逆に何も帰ってこなかったら今は空いていることになります. 使いたい番号が"将来的につかわれないこと"を確認する 先ほどの参考サイト様では,検索などでざっくり調べておくなど,念には念を入れておくことをおおすすめしていますね. 決まったポート番号は,下のコマンドから設定ファイルに書き込むことで有効化できます. ubuntu@xxx-xxx-xxxxxx:~$ sudo nano /etc/ssh/sshd_config ちなみに,ちょこっと定数変更したりするだけなら`vi`とか`vim`とかは無駄に使いにくくてストレスフルではないですか? 僕的にはシェル上でゴリゴリとコードを書いて開発していくような方でもないなら,`nano`で簡単に進めるのがおすすめです.ほぼ普通のエディタとして,直感的に使用できます. 設定が完了したら,設定を反映させるために再読み込みを掛けましょう. ubuntu@xxx-xxx-xxxxxx:~$ sudo reboot 今日はここまで.その1へ続く予定