web-dev-qa-db-ja.com

UbuntuでSSHオプションと接続を保存する方法は?

この時点で、接続するリモートマシンが2台あります。 1つはパスフレーズで秘密キーを使用し、もう1つはルートパスワードを使用しています。

さて、ルートパスワード認証でマシンに接続したいとき、最初にsshはマシンのパスフレーズを尋ねます、秘密鍵は私の〜/ .sshディレクトリ内にありますrootパスワードで接続します。

たとえば、Puttyのように、セッションと接続オプションを保存する方法はありますか?

2
Alan Kis

次の場所にあるユーザーごとのssh-configファイルを使用できます。

~/.ssh/config

またはシステムグローバルなもの

/etc/ssh/ssh_config

各接続の基本設定を保存します。

例:

Host example_Host
    User foo
    HostName example.com
    IdentityFile ~/.ssh/foo.key
    Port 23421

これを所定の場所に置いて、呼び出します

ssh example_Host

認証にユーザーfooとfoo.keyを使用して、ポート23421でexample.comへのssh接続を開きます。

詳細な説明については、sshのmanページを参照してください。

man ssh

構成ファイルに適切な許可を設定することを忘れないでください:

chmod 600 ~/.ssh/config
8
hecke

ssh のマニュアルページで指摘されている~/.ssh/configがあります。そこでよく説明されており、man ssh_configで説明されており、askubuntuでも何度も回答されています。

TL; DR:

# to preserve connections:
ControlMaster auto
ControlPath ~/.ssh/controlmasters/%r@%h:%p
ControlPersist 20m

# to provide correct keys, users, IPs and use aliases
Host yourHost
  Hostname IPaddress
  User user1
  IdentityFile ~/.ssh/id_ecdsa

Host yourSecondHost
  Hostname IP2
  User user2
  IdentityFile ~/.ssh/id_rsa

パスフレーズを書きたくない場合は、ssh-agentがあり、セッションのキーを追加できます。

eval `ssh-agent`
ssh-add ~/.ssh/id_ecdsa
# insert passphrase once
ssh yourHost
# will ask only for password
# next ssh connections will not ask for 
0
Jakuje