この時点で、接続するリモートマシンが2台あります。 1つはパスフレーズで秘密キーを使用し、もう1つはルートパスワードを使用しています。
さて、ルートパスワード認証でマシンに接続したいとき、最初にsshはマシンのパスフレーズを尋ねます、秘密鍵は私の〜/ .sshディレクトリ内にありますrootパスワードで接続します。
たとえば、Puttyのように、セッションと接続オプションを保存する方法はありますか?
次の場所にあるユーザーごとの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
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