Macの圧縮したtarをLinuxで展開するとメッセージがでる

Macのtarで固めたものをLinuxで解凍するとこんなメッセージがでてくる。

tar: 未知の拡張ヘッダキーワード `SCHILY.dev' を無視
tar: 未知の拡張ヘッダキーワード `SCHILY.ino' を無視
tar: 未知の拡張ヘッダキーワード `SCHILY.nlink' を無視

なんか、BSD系のtarを使うとこのヘッダーが入ってしまうらしい。(メッセージがでるだけで、ファイル自体は問題ないらしい)
Macでもgnuのtarが提供されてるので、それを使うことで解決。

$ brew install gnu-tar

これでgnu-tarが手に入る。コマンドではgtarで使えるので、下記のように使えばいい。

$ gtar cvfz file.tgz file 

踏み台サーバ経由で(IntelliJ経由で)SFTPする…メモ ( ポートフォワーディング使用)

IntelliJで踏み台サーバ経由でファイルをアップロードしたいときがたまにある(PH◯とかを必要に迫られて触る際に使うときがよくある)
そのときに、先人がやってくれていたものをまとめとしてメモする

Intellij単体だと、踏み台サーバ経由でのアップロードに対応していないので、sshのポートフォワーディング(localforward)の機能を駆使する

1. ~/.ssh/configの編集

下記のように設定を行う

Host app-web-sftp
    User user-name
    HostName getway-server        // 踏み台サーバのホストを設定
    IdentityFile ~/.ssh/id_rsa
    LocalForward 22222 app-web-server:22

LocalForward:
– ポートフォワーディング用の設定:特定ポートに来たものを転送する設定
– この例だと localhost:22222 に来たものを app-web-server:22 に転送する

2. ssh の起動

sshで接続していないとLocalForwardが動作しないので、ターミナルでsshコマンドで踏み台サーバに接続しておく

$ ssh app-web-sftp

know hostのYes/Noを聞かれるがYesでOK

※sshで接続してないとSFTPはできない

3. intellijの設定

  • Tools -> Deployment -> configure を選択する
  • 下記のように設定する
    • SFTP host: localhost
    • Port: 22222 ( LocalForwardで設定したポート)
    • Username: サーバログインユーザ名
    • AuthType: パスワードか鍵認証か
    • Private key file:(鍵認証なら) 秘密鍵を設定する // .pubじゃない方

設定したらTest SFTP connection をクリックして接続確認する
※ ここでエラーがでる場合は、sshの接続がキレてることが多い

接続されたらファイルアップロードして終わり

4. ファイルアップロード

Tools -> Deployment -> Browse Remote Host をクリックすると、Intellijの右サイドバーにリモートサーバのExplorerがでてくる

過去記事

踏み台使用時の~/.ssh/config

踏み台使用時の~/.ssh/config

.ssh/configのメモ

.ssh/configのメモ

参考サイト

踏み台サーバーを使っているときの IntelliJ IDEA の Rmote Host の設定(AdventCalendar1日目)

踏み台使用時の~/.ssh/config

(通常の~/.ssh/configはこちら -> https://k-sasaki.net/2018/02/230/)

AWSとかで踏み台サーバ経由する方法とかまぁよくある話なので、ProxyCommandで対応するメモ。(よく忘れる、てかキーを間違えるw)
こんな感じの構成だとする。

local-machine -- step-server -- target-server

下記をlocal-machineの.ssh/configに書いておく

# 踏み台サーバ
Host step-server
  Hostname step-server.com
  User step-server-user
  Port 22
  IdentityFile ~/.ssh/id_rsa_step_server

# ターゲットサーバ
Host target-server
  Hostname target-server.com
  User target-server-user
  Port 22
  IdentityFile ~/.ssh/id_rsa_target_server
  ProxyCommand ssh step-server -W %h:%p

~/.ssh/configをchmod 700にする。

$ chmod 700 ~/.ssh/config

下記でアクセスできるはず。

$ ssh target-server

踏み台サーバは場所によって、step-serverだったりgateway-serverだったりいろんな名前があるんすね。

.ssh/configのメモ

sshの鍵を使い分けるようにする簡単な設定のメモ
(configのジェネレートコマンドとかあればいいんだが…)

$ vi ~/.ssh/config

Host ap-01   // ailias name
    HostName xxxx.com   // connection hostname 
    User username  // user name
    IdentityFile ~/.ssh/id_rsa   // path to secret key

その後、ファイルのパーミッションを変更する(700にする)

chmod 700 ~/.ssh/config

これでssh接続可能

エイリアス名でもホストでも両方つながる。とっても便利

$ ssh ap-01
$ ssh xxxx.com