sshパスワードを覚えて自動的にログインし、clone session


詳細
1、必須ソフトウェアのインストール
基本ツール
$sudo apt-get install ssh-client

自動応答ツール
$sudo apt-get install expect

2,ログインスクリプト
expectを使用してsshログイン自動応答スクリプトを作成
$vi sshHostWithUsernameAndPassword

下記に記入
#!/usr/bin/expect
# This script needs one argument to(s) connect to remote server:
# host = IP Addreess of remote UNIX server, no hostname
# For example:
#  ./sshadmin 192.168.1.11 admin admin
#set Variables
set host [lrange $argv 0 0]
set username [lrange $argv 1 1]
#support to compose produce env password with static part and dynamic part
set password [lrange $argv 2 3]
spawn ssh $username@$host
expect {
#if need check hostkey, send yes
       -re ".*Are.*.*yes.*no.*" {
       send "yes\r"
       exp_continue
       #look for the password prompt
       }
       "*assword:" {
       send -- "$password\r"
       #the expect command will now return
       }
}
#using 'interact' to stop execute spawn
interact;

3,登録したalias
$vi .bash_aliases

追加
alias sshHost1="sshHostWithUsernameAndPassword yourhost yourUsername yourPassword"

そして
$. .bash_aliases
$sshHost1

ssh無入力アカウントパスワードでサーバーにログインできます
早速体験しましょう
ダイナミックパスワードがあれば
$vi .bash_aliases

追加
alias sshHost2Dynamic="sshHostWithUsernameAndPassword yourhost yourUsername yourStaticPassword"
$sshHost2Dynamic yourDynamicPassword

(sshHostWithUsernameAndPasswordの「set password[lrange$argv 2 3]」で組み合わせる)
4,clone session
securecreCRTのclone session方式が同じ接続を再利用し、2回目のログインを避けてパスワードを入力するのがうらやましいのではないでしょうか.実はこれがssh内蔵機能なので、下を押すだけでいいです.
ファイルの作成
$vi ~/.ssh/config

configのファイルに、次の内容を追加します.
host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p

そして
$vi ~/.bash_aliases

追加(パスワードは不要)
alias sshHost2DynamicClone="sshHostWithUsernameAndPassword yourhost yourUsername"
$. ~/.bash_aliases

初回ログイン
$sshHost2Dynamic yourDynamicPassword

後でログインします
$sshHost2DynamicClone

ログインできます
同時に私たちは~/.ssh/ディレクトリの下にmaster-*のsockファイルがあります.それは私たちが現在ログインしているマシンを記録しています.そうすると、同じマシンにログインして同じセッションを再利用します.
他のlinuxリリース版の学生はすべて使用できるはずです.結局、これはsshのクライアントプロファイルにすぎません.
configファイルの詳細については、以下を参照してください.
http://linux.die.net/man/5/ssh_config