Bashスクリプトを介して秘密鍵でSSHを実行することはできません。

Bashスクリプトを介して秘密鍵でSSHを実行することはできません。

まず、これが非常に明白でマイナーな質問であればお詫び申し上げます。私はまだLinux / Unixについて詳しく学んでいます。

ログインするには、SSHと秘密鍵を介したアクセスを必要とするいくつかのサーバーを使用します。したがって、コマンドは次のようになります。

ssh -i /path/to/key.pem [email protected]

私は自分の呼び出しを使用しaccess、私がログインしているサーバーを制御するために背後にあるパラメータのデフォルトのスイッチステートメントのみを持つことができるbashスクリプトを作成しました。たとえば、server1にログインするには、access server1適切なコマンドが実行されます。ssh

質問

電話がssh切れて空の端末だけが残りました。SIGINTCtrl+ C)は許可されておらず、使用するにはターミナルを終了して再開する必要があります。

私が理解したところ、これは秘密鍵に対する権限の問題かもしれません。現在の権限はです600。変更すると、644権限が開いていないというエラーが発生し、ssh試みが終了します。どんな提案がありますか?

ベストアンサー1

  1. これを行うには、ssh_configbashスクリプトなどのhara-kiriを作成せずにホストエイリアスとキーを指定して保存できます。デフォルトでは、~/.ssh/config次の形式で保存されます。

    Host host1
      Hostname 000.000.000.000
      User user
      IdentityFile /path/to/key.pem
    

    その後、単に電話するだけです。

    ssh host1
    

    到着する、得る000.000.000.000

  2. 本当にやりたいなら効果的なそして、短いショートカットを使用すると、aliasbashスクリプトよりもbashが適しています。

    alias access="ssh -i /path/to/key.pem [email protected]"
    
  3. Bashスクリプトを実際に使用するには、-tt次のオプションを使用してsshがリモートサーバーにTTYを割り当てるように強制する必要があります。

    ssh -tti /path/to/key.pem [email protected]
    

sshより多くのヒントについては、およびマニュアルページを参照してくださいssh_config

おすすめ記事