Macの最近のブログ記事


「Cyberduck であればトンネリング SSH 接続の設定ができるみたいなんで、そっちにするか・・・(^^;;;」

って書いたんだけど、全然ダメやん・・・SFTP で接続できんやん・・・

SFTP 接続しようとすると「Broken pipe. 接続試行は拒否されました。サーバーがダウンしているか、ネットワーク設定が正しくない可能性があります。」ってエラーが出て全然ダメ。


20241208_cyberduck1.jpg
サーバの方の /var/log/secure を見てみると、

Dec  8 16:07:01 hogehogeserv sshd[13662]: Did not receive identification string from 106.XXX.XXX.XXX port 51585

なんて出てる。むーん・・・

手動で ssh 接続はできているし、何より FileZilla による接続はできている。というわけで Cyberduck だけの問題?

もしかして、サーバ側の sshd のバージョンが古いとか、鍵認証しないとダメとかなん?いやあ、そんなの大きなお世話やなあ・・・
セキュリティについて、どこまで必要で、どこまで対応するかはこっちの問題。俺が決める領域やん。

原因わかんないので、Cyberduck はゴミ箱行きやな。
FileZilla という FTP ソフトは SSH トンネリング接続ができない。

例えば、IPアドレスでアクセス制限されているサーバに、接続許可されているサーバを経由して接続するのをトンネリング接続というんだけど(接続許可されているサーバがポートフォワードという方法を使って、「俺です」って嘘ついてデータのやり取りをするわけ)、FileZilla という macOS でよく使われているソフトにはその機能がない。

なので、SSH ソフトを使ってトンネリングできる環境(ポートフォワード設定)を作って、FileZilla でそれを利用する形になる。

外出先でどうしてもお客さんのサーバのデータを確認しないといけなくなったときはトンネリング接続で SFTP を利用しないといけない。Windows PC が手元にあったら WinSCP という素晴らしいソフトがあるので(毎年寄付してます!(笑))いいんだけど、Macbook Air しか持ってないときは困るのよね。

というわけで、やり方をメモしておく。

1.手元の macOS 上でターミナルを2つ起動する

2.ターミナル1でローカルからリモート方向へのトンネリングのための SSH 接続を行う

トンネリング時の入り口(SFTP接続時に指定する自分自身(localhost))のポート番号):14649
最終的に接続したいサーバの IP アドレス:210.XXX.XXX.XXX
最終的に接続したいサーバのポート番号:22(SSH 接続)

(例)14649:210.XXX.XXX.XXX:22

接続を許可されているサーバ(踏み台)のユーザ:shinoda
接続を許可されているサーバ(踏み台)のホスト名:chinko.exsample.com
接続を許可されているサーバ(踏み台)の接続先ポート番号:22(SSH接続)

(例)shinoda@chinko.exsample.com -p 22

~ % ssh -L 14649:210.XXX.XXX.XXX:22 shinoda@chinko.exsample.com -p 22
shinoda@chinko.exsample.com's password: <chinko.exsample.com にログインするときのパスワード>
Last login: Sun Dec  8 09:34:15 2024 from kd1061550.manman.exsample.com

ログインしたら、そのターミナルは閉じずにそのまま置いておく(exit すると、掘られた「トンネル」も閉じる)

3.ターミナル2で、トンネリング時の入り口ポートが接続待ちになっていることを確認

~ % netstat -na | grep 14649
tcp4       0      0  127.0.0.1.14649        *.*                    LISTEN
tcp6       0      0  ::1.14649              *.*                    LISTEN

port 14649 が LISTEN(接続待ち)になっている

4.FileZilla でローカルホストに接続

サイトマネージャを開き、トンネリング接続のための設定を行う

プロトコル:SFTP
ホスト:localhost
ポート:14649
ログオンタイプ:通常
ユーザー:最終的に接続したいサーバのログインユーザ
パスワード:最終的に接続したいサーバのログインユーザのパスワード

上記設定で接続を行えば、localhost(自分自身 macOS)→接続を許可されているサーバ(踏み台)→最終的に接続したいサーバ という経路で接続される。
「最終的に接続したいサーバ」から見たら、「接続を許可されているサーバ(踏み台)」から接続してきていると思っているが、実はこっそり掘ったトンネルを通って localhost が接続しているという形。

上記の動きを、FileZilla ではなくターミナル上で確認してみることもできる。
ターミナル2で以下のように、「最終的に接続したいサーバ」にログインできることを確認する
(以下の例は、初めての接続だったので、「このホスト、本物?信用していい?」と聞かれてます(笑))

~ % ssh -l root localhost -p 14649
The authenticity of host '[localhost]:14649 ([::1]:14649)' can't be established.
ED25519 key fingerprint is SHA256:4hlxCQFIfF<略>+0Cf0.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:14649' (ED25519) to the list of known hosts.
最終的に接続したいサーバのログインユーザ@localhost's password: <最終的に接続したいサーバのログインユーザのパスワード>
Last login: Sun Dec  8 09:28:46 2024 from 159.XXX.XXX.XXX

これで、「最終的に接続したいサーバ」にログインできれば「トンネル」が作られているということ。

・・・いやぁ、面倒くさいな(笑)。

Cyberduck であればトンネリング SSH 接続の設定ができるみたいなんで、そっちにするか・・・(^^;;;
macOS のターミナルで表示されるプロンプトは糞長い。

shinoda@shinodamarasukenoMacBook-Air ~ %

てな感じで、ターミナルの幅の半分がプロンプトみたいな・・・
(ちなみに、このときは自分のホームディレクトリにいたからこの程度で済んでいるが、他のディレクトリがカレントだったら、そのパスも表示されるので更に長くなる)

けっこう苦痛なのだが、ターミナルを使うこともあまりないのでほっていた。でも、最近シェルであれこれ作業することが増えてきたので、やっぱ苦痛・・・

ということで、プロンプトを変更する。
ちなみに、macOS Sequoia の標準シェルは zch のようだ。

shinoda@shinodamarasukenoMacBook-Air ~ % cat > .zshrc
PROMPT="%d %# "
^D
shinoda@shinodamarasukenoMacBook-Air ~ % source ~/.zshrc
/Users/shinoda %

お、いいねえ。でも、これだとホームディレクトリ名もフルパスで出ちゃうので、ホームディレクトリは「チルダ」を表示するようにしよう。

/Users/shinoda % cat > .zshrc
PROMPT="%~ %# "
^D
/Users/shinoda % source ~/.zshrc
~ % 

ばっちり、オーケー(^_^)

ちなみに、^D というのは Ctrl + D のことね。念の為(笑)
macOS で、日頃マウスを接続せず本体のトラックパッドばかり使っていると、マウスを接続したときに「おっ」と思うのが、「スクロールホイールの回転方向とスクロールが逆じゃないか」ってやつ。

前に使ってた MacBook Pro のときに「なんじゃこりゃ」と思ったなあ・・・と。そう、この間から外で仕事するときのメインマシンにしている MacBook Air でも再びその状態に遭遇。

・・・で、そのときは「システム環境設定」の「トラックパッド」設定で「スクロールとズーム」タブを選んだら、「スクロールの方向」てのが・・・無いじゃーん!?

うーん・・・としばし悩んだのだが、「ナチュラルなスクロール 指を動かす方向にコンテンツが移動」というやつのチェックを外したらスクロールホイールの回転に合った動きになった。

名前が変わった?「ナチュラルなスクロール」・・・わかり辛れぇ(^^;; 「スクロールの方向」とかでええじゃん・・・なんて文句言うと、Apple信者(まさに!)からは怒られちゃいそう(^^;;;(確か、Apple 純正のマウス(ホイールではなく、指でスーってするやつ)だとちゃんと動くんだよな)
Homebrew をインストールしたので、早速 PostgreSQL のインストールをしてみる。

まずは、brew でインストール可能な PostgreSQL を探す

% brew search postgresql
==> Formulae
postgresql@11    postgresql@12    postgresql@13    postgresql@14    postgresql@15    postgresql@16    postgresql@17    qt-postgresql    postgrest

==> Casks
navicat-for-postgresql                                                        posture-pal

If you meant "postgresql" specifically:
postgresql breaks existing databases on upgrade without human intervention.

See a more specific version to install with:
  brew formulae | grep postgresql@

postgres だけ指定したら最新バージョンで現行システム上書くでってことかな?
それで構わないので、今回は postgres だけ指定。

% brew install postgresql
Warning: Formula postgresql was renamed to postgresql@14.
==> Downloading https://ghcr.io/v2/homebrew/core/postgresql/14/manifests/14.13_3
<略>
This formula has created a default database cluster with:
  initdb --locale=C -E UTF-8 /opt/homebrew/var/postgresql@14

To start postgresql@14 now and restart at login:
  brew services start postgresql@14
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/postgresql@14/bin/postgres -D /opt/homebrew/var/postgresql@14
shinoda@shinodamasanorinoMacBook-Air smart_lap % brew services list     
Name          Status User File
postgresql@14 none  

これでインストール終了。

メッセージに起動方法が書かれているので、起動してみる。

% /opt/homebrew/opt/postgresql@14/bin/postgres -D /opt/homebrew/var/postgresql@14 &
[1] 34533
shinoda@shinodamasanorinoMacBook-Air smart_lap % 2024-11-13 20:40:08.668 JST [34533] LOG:  starting PostgreSQL 14.13 (Homebrew) on aarch64-apple-darwin24.1.0, compiled by Apple clang version 16.0.0 (clang-1600.0.26.4), 64-bit
<略>

クライアントソフトの psql も実行してみる。

% psql --version
psql (PostgreSQL) 14.13 (Homebrew)

うむ。ちゃんとインストールされているな。

ちなみに、Homebrew でインストールした場合は、brew services コマンドでの起動もできるようだ。

起動して、すぐに停止してみる。

% brew services start postgresql
Warning: Formula postgresql was renamed to postgresql@14.
==> Successfully started `postgresql@14` (label: homebrew.mxcl.postgresql@14)
% brew services stop postgresql
Warning: Formula postgresql was renamed to postgresql@14.
Stopping `postgresql@14`... (might take a while)
==> Successfully stopped `postgresql@14` (label: homebrew.mxcl.postgresql@14)

問題なし。
さて、続いて PostgreSQL の設定をするか。
俺も「軽い」macOS ユーザなので、アプリのインストールは DMG ファイルから行ったり、ZIP ファイルを解凍してアプリケーションフォルダにコピーしたり、そういうやり方しか知らなかった。パッケージマネージャなど使ったことがなかった。

しかし、DBMS(今回入れるのは PostgreSQL)のインストールにはパッケージマネージャから入れておいたほうが後々バージョンアップとか楽だということなので、今回 Homebrew を入れてみた。

とりあえずターミナル上で、brew を実行してみると、

% brew --version
zsh: command not found: brew

とエラーが。うむ。新規インストールせねば。

Homebrew の公式サイトに載っている手順通りに実施。
サイトから curl で最新のインストーラを取ってきて実行。

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password:<macOS ユーザのパスワード>
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
<以下略>

これだけでインストールは終了。

ただ、これだけだと brew のパスが通ってないので、ターミナルに出力されているインストールメッセージの Next Step に書かれているコマンドを実行しろと言われる。

Warning: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.

言われたとおりに実行してみる。

% echo >> /Users/hogehoge/.zprofile
% echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/hogehoge/.zprofile
% eval "$(/opt/homebrew/bin/brew shellenv)"

その後、brew を実行してみる。

% brew --version
Homebrew 4.4.4

バッチリ(笑)
20241027_macOS1.jpg

また広島市内通勤となったので、パソコンを持ち歩いておかないと緊急時の対応ができない。ということで、新しいノートPCを買った。

以前は 2018年モデルの MacBook Pro を使っていたのだが、バッテリーが膨れてきてやばい状態になったのと、コロナ以降大竹に車で通勤していたので、何かあれば定時後車を飛ばせば 18:30には家に帰れたのでノートPCは持ち歩かないようになった。

というわけで、本当に久しぶりの新調。今回は MacBook Air の M3チップ、16GBメモリ、512GB SSD、13インチディスプレイモデルにした。
MacBook Pro は高くて買えん。Air でもこのモデルで(3年保証をつけて・・・だが)26万円弱する・・・

で、久しぶりに触る macOS なので色々違和感が・・・(^^;
システム設定画面も設定項目増えてわかりづらくなってるし・・・

ファンクションキーを本来のファンクションキーとして使用する設定の画面を出すのにも苦労した。

そして、もっとも違和感があったのは、日本語変換で、2回改行を押さないと変換が確定しないことだ。
なに、これ。

結局、日本語変換の設定メニューで「ライブ変換」ってチェックを外したら一発で確定するようになったけど・・・(^^;

まだまだ、以前使っていた MacBook Pro の操作性に合わせられるのは先になりそうだ・・・
うちの MacBook はずっと食卓の上に置いてあって、飯食いながらメールチェックしたり、検索したりするのに使っている。スマホでいいじゃんと思うかもしれないが、そのまま長いメール文打ったり、プログラムソースをチェックしたりもするから、やっぱパソコンでないと。

まあ、そういう MB なんだけど、ちょっと前から macOS Monterey 12.0.1 へのアップデートのお知らせが上の方に出てたんだが無視していた。
俺、(最新 OS でないと回避できないようなセキュリティ上の問題でも無い限り)最新 OS やリビジョンにあまり興味なくて。

でも、ちょっとした気の迷いでアップデートしてみた・・・

 20211222_mac1.jpg

・・・ら、やっぱり問題発生。
Gmailでメール打とうと思って「かな」入力にしたら、なんか変。あれ?俺、Google日本語入力使ってるのに、これ「ことえり」(ではないらしい)じゃない???と思って入力ソースの一覧を見てみると・・・

Google 日本語入力が消えてる・・・
アプリケーションフォルダにプログラムは残ってるけど、入力ソースとして有効になってないみたいだなあ。

 20211222_mac2.jpg

どうすりゃいいのかよくわからなかったので、とりあえず Google 日本語入力の再インストール。
これで、再び入力ソースに Google 日本語入力が表示されるようになった。
「かな」キーを押すと、「ことえり」(ではないらしい)ではなく Google 日本語入力の全角モード(ローマ字入力)が選択される。

一件落着・・・と思ったのだが、ダメだ、これ。

例えば Gmail でメールアドレス入力しようとして、「英数」キー押すじゃん。そしたら、半角英数字の直接入力にならず、「ことえり」(ではないらしい)の全角入力が選択されるのだ。
hogehoge と入力したいのに「ほげほげ」になってしまう。こうなってしまうと、「かな」を押しても Google 日本語入力ではなく「ことえり」(ではないらしい)が選択される。

まあ、「英数」キー押してなにもせずに「かな」キー押すと、今度はちゃんと Google 日本語入力が選択されるんだけど・・・

結局、解決策は、macOS Monterey 12.0.1 → macOS Monterey 12.1 にバージョンアップすることだった。やっぱり、最新 OS は最初の版が出てから 3ヶ月~半年は寝かせるのが基本やね(笑)

<追記>
なんと、仕事仲間からの指摘があったが、Yosemite以降はMac標準の日本語入力システムは「ことえり」ではなく「日本語入力プログラム」というものに変わったそうな(笑)。
2008年から Mac ユーザなんだけど、一度も標準の日本語入力システムを使ったことがないので(最初はATOK。それからGoogle 日本語入力)知らんかったぁ。未来永劫、標準の日本語システム使う気はなく、まったく興味がなかったもんで(^^;;;
自宅の MacBook(2018)を macOS 11.0.1 Big Sur(ビッグサー)にアップデートした。

俺の周りにでも Mac 使いはどんどん Big Sur にしていってたんだけど、俺はちょっと躊躇。

自宅で MacBook を使うときには外付けのキーボード、PFU の Happy Hacking Keyboard HHKB Lite2 の Mac 用キー配列のやつを接続してるんだけど、こいつがどうも Big Sur ではまともに動かないし、HHKB Lite2 自体が「在庫品の完売をもって販売を終了」という品なので、PFU もドライバのアップデートをする気がない・・・という噂を耳にしたのだ。

いや、単なる噂なので、「PFU は Big Sur 用のドライバを出しているよ」という情報があれば教えてほしい。

20201123_macOS1.jpg
まあ、それがあったので躊躇していたわけだ。自宅でノートの小さいキーボードをパチパチやるのも嫌だし。

しかーし、一昨日、嫁さんに命じられて和室の縁側に積み上げていたダンボール箱の中身を整理していて、以前 Mac mini に接続していた Apple 純正のキーボードを発見したのである。ラッキー。

ということで、もう、HHKB Lite2 にこだわる必要はない。家の PC は全部 HHKB Lite2 なので、このキー配列になれているんだけど、ま、しょうがない。Apple 純正のキーボードは見た目より打ちやすいしな(笑)

というわけで Big Sur にしたんだけど、macOS のアップデートって、アップデート中に何度も OS アップデートのボタンが押せるのよね。
しかもなぜかそのボタンがインストール中の画面の後ろ側に出てたんで、「?」と思いながら押したら、なんかインストーラが二重に走ったようで、そのせいか「インストールが終了したので、他のアプリを終了させた後に再起動するね」というメッセージのあとにうんともすんとも言わなくなってしまった。

俺は、酒を飲んでいるときはいつもにこにこしているから、そんな時の「にこにこ優しそうな、でも股間だけは暴れん坊」の俺しかしらない人妻は意外に思うかもしれないが、「鳴かぬなら、殺してしまえ、ホトトギス」派の人間である。
迷わず強制的に手動 OFF/ON(笑)

しっかり、インストールされていました(笑)

というわけで、無事俺の MacBook も Big Sur になったわけだが、何、このサイケなログイン画面(^^; ジョブズが生きてたら許してたの?こんなデザイン。
2018年モデルの 13" MacBook に PFU の HHKB Lite2(省スペース型のキーボードね)を接続しているんだけど、ちゃんとドライバを入れないと Command キーや、「英数」「かな」キーなどが使えない。

以前、Mac mini に接続していたキーボードなんだけど(Mac mini のあの薄いキーボードがどうにも苦手で(^^;)、数年間納屋の奥に放置してたので、すっかりドライバのことを忘れてた。

20201003_hhkb2.jpgドライバCDはあるんだけど、MacBook に CDドライブがついてないので、ネットから落としてこようと検索したんだけど、開発元の PFU、もうこの販売終了した製品のドライバなんて提供したくなくて必死やな・・・と感じるほどに、サイト内検索では情報に到達できない(^^;
外部からの Google 検索でやっとドライバ置き場にたどり着けた(^^;

で、早速インストールしたけど「インストールできませんでした」とエラーが出て終了(^^;;;;
AppleStore 経由じゃないから、途中セキュリティ設定の「ダウンロードしたアプリケーションの実行許可」を「App Storeと確認済みの開発元からのアプリケーションを許可」に切り替えないといけないのだが、どうも最初から切り替えとかないとダメみたい。むむ。

というわけで、もう一度最初からインストールしなおしたら無事入った。むむむむ。

さて、日頃、古い周辺機器のドライバをネット上から落としてインストールすることってけっこうあるけど、PFU のサイトが一番不親切だった。
上にも書いたが、もう販売終了した商品なんで、積極的にドライバなんか提供したくないわ!!ってことか?

まあ、HHKB のいい奴は 3万円以上するが、俺のは数千円の廉価版。静電容量無接点方式じゃないからガチャガチャうるさいしな(^^;
そういう安物のドライバなんか、いつまでも提供せんぞ!ってことなのか?腹が立つ(^^:::

ま、何はともあれ、これで、無事 Command + C でコピーとか、Command + Shift + '3' でプリントスクリーンとか、「かな」キーで日本語入力モード ON とかできるようになったので嬉しい(笑)

このアーカイブについて

このページには、過去に書かれたブログ記事のうちMacカテゴリに属しているものが含まれています。

前のカテゴリはAndroidです。

次のカテゴリはUNIXやLinuxです。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら