Ant中SSH使用
SSH提供了公钥登录,可以省去每次登录都要输入的秘密的步骤。公钥登录原理:1、用户将自己的公钥存储在远程主机上。2、登录的时候,远程主机向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。3、远程主机利用事先存储的公钥进行解密,如果成功,就证明用户是可行的,直接允许登录shell,不再要求输入密码。客户端windows,目标主机Linux(or ma
·
SSH提供了公钥登录,可以省去每次登录都要输入的秘密的步骤。
公钥登录原理:
1、用户将自己的公钥存储在远程主机上。
2、登录的时候,远程主机向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。
3、远程主机利用事先存储的公钥进行解密,如果成功,就证明用户是可行的,直接允许登录shell,不再要求输入密码。
客户端windows,目标主机Linux(or mac)
1、客户端生成公私钥 ssh-keygen
2、将客户端的公钥上传到服务器端
cat
>
~
/.ssh
/authorized_keys
< id_rsa.pub
#同时修改sshd_config文件
vi /etc /ssh /sshd_config (mac /etc /ssh_config)
SAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh /authorized_keys
#同时修改sshd_config文件
vi /etc /ssh /sshd_config (mac /etc /ssh_config)
SAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh /authorized_keys
service ssh restart
(mac)
sudo launchctl unload -w /System /Library /LaunchDaemons /ssh.plist
sudo launchctl load -w /System /Library /LaunchDaemons /ssh.plist
sudo launchctl list | grep ssh (查看是否启动成功)
sudo launchctl unload -w /System /Library /LaunchDaemons /ssh.plist
sudo launchctl load -w /System /Library /LaunchDaemons /ssh.plist
sudo launchctl list | grep ssh (查看是否启动成功)
Ant脚本
1、下载 jsch.jar
http://www.jcraft.com/jsch/index.html,同时将jar当如ant的lib中
2、配置sshexec节点
<
target
name=
"upload-backup">
<sshexec host= "${serverIp}" username= "${serverUserName}" keyfile= "${user.home}/.ssh/id_rsa" command= "pwd" trust= "true" />
</ target>
<sshexec host= "${serverIp}" username= "${serverUserName}" keyfile= "${user.home}/.ssh/id_rsa" command= "pwd" trust= "true" />
</ target>
更多推荐
已为社区贡献1条内容
所有评论(0)