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

service ssh restart
 (mac)
sudo launchctl unload  -/System /Library /LaunchDaemons /ssh.plist
sudo launchctl load  -/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>



Logo

更多推荐