sshコマンドを簡略化する
踏み台サーバー経由でFileZillaを操作したい場合、
一般にポートフォワーディングしてアクセスすることが多いかと思います。
【参考記事】 https://qiita.com/mechamogera/items/b1bb9130273deb9426f5
$ ssh -f -N -L [ローカルに割り当てるポート]:[ターゲットのホスト]:[ターゲットのポート] [踏み台のユーザー]@[踏み台のホスト]
長すぎる。
ので、configファイルに詳細をかき、コマンドを簡略化します。
やり方
$ vim ~/.ssh/config
~/.ssh/configの中を下記のように編集
# 踏み台サーバー
Host bridge
HostName bridge.com
User bridge_user
Port 50000
# 目的のサーバー
Host server
HostName server.com
User server_user
Port 51111
LocalForward 59000 bridge.com:50000
ProxyCommand ssh -CW %h:%p bridge
これで今後は下記を入力するだけ!
$ ssh -f -N server
上記のようにFilezillaで接続できます。
GUIとかいらない場合
$ ssh server
でオプションなしで接続すればOK
パスワード認証を簡略化する
踏み台サーバーのパスワード、いちいち入力するの大変ですよね。
ここも簡略化しましょう。
公開鍵認証を利用します。
$ ssh-keygen -t rsa -b 4096
で鍵を生成します。
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [リモートユーザー]@[リモートホスト名]
で鍵を送信します。
これで接続時パスワードを入力せずにアクセス可能です。
それでもパスワードを聞かれる場合
パーミッションのエラーであることが多いです。
https://soji256.hatenablog.jp/entry/2021/03/04/070000
上記の記事を参考に、
<接続元(クライアント)の設定例>
chmod 755 /home/
chmod 755 /home/user
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/id_rsa
chmod 644 /home/user/.ssh/id_rsa.pub
<接続先(サーバ)の設定例>
chmod 755 /home/
chmod 755 /home/user
chmod 700 /home/user/.ssh
chmod 600 /home/user/.ssh/authorized_keys
で設定されているか確認してください。
ホスト指定を簡略化する
究極のズボラなのでssh後のホスト名指定すらしたく無いので、補完機能をつけます。
$ brew install bash-completion
~/.bash_profileに下記を追加します。
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
あとはターミナルを再起動 or source ~/.bash_profile
で設定を読み直すだけです。
$ ssh
の後にTABを2回押すと補完してくれます、便利!
【参考記事】https://sig9.hatenablog.com/entry/2016/06/19/003000
インフラ周りあまり詳しくないので、間違ってる場所あったり、
もっと良い方法があればバシバシご指摘ください🙇♂️