

使用したいgitサーバーがssh(パスワード認証)になっているのですが、  
Jenkinsの認証情報の追加設定は「sshユーザー名と秘密鍵」となっています。

sshでユーザー名、パスワードによる認証をしたいのですがどのようにすれば可能でしょうか？


CC BY-SA 3.0
2016-08-25T09:32:55.623
28483
2016-08-26T11:56:42.000
17328
question
git ssh jenkins
Jenkinsからgitサーバーへssh(パスワード認証)したい


`expect` でパスワード入力を自動化するスクリプトを書けばできると思います。

スクリプト例

[code]

    #!/bin/sh
    USER=$1
    HOSTNAME=$2
    PASSWORD=$3
    PROMPT=$4
    COMMAND=$5
    
    expect -c "
    set timeout 60
    spawn ssh ${USER}@${HOSTNAME}
    expect \"password:\"
    send \"${PASSWORD}\n\"
    expect \"${PROMPT}\"
    send \"${COMMAND}\n\"
    expect \"${PROMPT}\"
    send \"exit\n\"
    interact
    "
    
[/code]

実行すると次のようになります(例ではRHELサーバーにログインしてます)

[code]

    $ ./sshtest.sh user 192.168.1.10 hogehoge '$' 'echo hello jenkins'
    spawn ssh user@192.168.1.10
    user@192.168.1.10's password:
    Last login: Fri Aug 26 20:48:52 2016 from 172.16.100.33
    [user@192.168.1.10 ~]$ echo hello jenkins
    hello jenkins
    [user@192.168.1.10 ~]$ exit
    logout
    Connection to 192.168.1.10 closed.
    
[/code]


CC BY-SA 3.0
2016-08-26T11:56:42.000
28513
2016-08-26T11:56:42.000
5008
28483
answer