
SSH 経由で Mac 間でクリップボードのテキストとソースコードを転送する
ソースコード、テキスト、またはコマンド文字列をMac間で安全に転送したいと思いませんか?コマンドラインクリップボードツールのpbcopyとpbpasteをSSHと組み合わせれば、まさにそれが実現できます。転送先のMacがLAN、WAN、あるいはどこにあっても問題ありません。
基本的なコマンド構文は次のとおりです。
pbpaste | ssh username@ipaddress pbcopy
LAN 上でデータを転送する場合は、別の Mac のホスト名または IP アドレスを使用できます。
この方法は安全であり、多くの電子メールや IM クライアントのように特殊文字やコードが改ざんされることがないため、非常に便利です。
受信側のMacでSSHが有効になっている必要があります。
この設定をするには、受信側のMacで「リモートログイン」が有効になっている必要があります。これにより、誰でもSSHとパスワードを使って安全にマシンに接続できるようになります。これは誰でも簡単にできます。
- システム環境設定を起動し、「共有」をクリックします。
- 「リモートログイン」の横にあるチェックボックスを選択します
リモート ログインが有効になったので、転送したいコマンドを Mac のクリップボードにコピーし、上記に示した構文構造を使用します。
例
例えば、コンピュータ初心者の友人に複雑なコマンドライン文字列を送りたいとします。比較的短いので、特定のアプリのインターネットアクセスを監視するためのlsofのバリエーションだと仮定します。ただし、どんな文字列でも構いませんし、私は通常、ソースコードにこれを使用します。送信するサンプル文字列は次のとおりです。
lsof -nPi | cut -f 1 -d " "| uniq
そのテキストを選択し、ローカルクリップボードにコピーします。さて、友人のMacが同じネットワーク上にある別の建物にあると仮定しましょう。これは大企業や教育機関ではよくあるシナリオです。友人のIPアドレスは192.168.50.175、Macのユーザー名は「Steve」です。SteveのMacに接続してクリップボードにアクセスするには、Steveのパスワードも必要です。
pbpaste | ssh [email protected] pbcopy
スティーブのパスワードを要求されたら入力すると、私のクリップボードで選択した文字列がすぐに彼のクリップボードにコピーされます。これで、スティーブはそのコマンドをターミナルに貼り付けて実行したり、その他の操作を行ったりできるようになります。
大きなテキスト ブロックとソース コードを Mac 間で安全に転送します。
これは非常に大きなテキスト ブロックでも機能するため、セキュリティ上の理由から電子メールで送信したくない長いソース コード クリップやその他のテキスト データ、またはインスタント メッセンジャー クライアント経由で送信すると文字化けしてしまうテキスト データを送信するのに最適です。
これはプレーンテキスト データでのみ機能するようです。ただし、他のデータでも機能する場合は、コメントでお知らせください。